StudentAddr.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. <?php namespace App\Http\Controllers\Api;
  2. use App\Http\Controllers\Api\Api;
  3. use App\Models\StudentAddr as Model;
  4. use App\Http\Requests\Api\StudentAddr as request;
  5. /**
  6. * 学生地址
  7. *
  8. * @author 刘相欣
  9. *
  10. * */
  11. class StudentAddr extends Api{
  12. /**
  13. * 获取列表 /api/student_addr/get_list
  14. *
  15. * @param string $code 授权码
  16. *
  17. * */
  18. public function get_list(Model $Model){
  19. // 接口验签
  20. // $this->verify_sign();
  21. // 检查登录
  22. $uid = $this->checkLogin();
  23. // 查询信息
  24. $list = $Model->getListByCustom($uid);
  25. // 返回结果
  26. return json_send(['code'=>'success','msg'=>'获取成功','data'=>$list]);
  27. }
  28. /**
  29. * 添加 /api/student_addr/add
  30. *
  31. * @param string $code 授权码
  32. *
  33. * */
  34. public function add(Request $request,Model $Model){
  35. // 接口验签
  36. // $this->verify_sign();
  37. // 验证参数
  38. $request->scene('add')->validate();
  39. // 检查登录
  40. $uid = $this->checkLogin();
  41. // 接收参数
  42. $data['type'] = request('type',0);
  43. $data['contact_area'] = request('contact_area','');
  44. $data['contact_school'] = request('contact_school','');
  45. $data['contact_grade'] = request('contact_grade','');
  46. $data['contact_class'] = request('contact_class','');
  47. $data['contact_name'] = request('contact_name','');
  48. $data['contact_phone'] = request('contact_phone','');
  49. $data['is_default'] = request('is_default',0);
  50. $data['type'] = request('type',0);
  51. $data['custom_uid'] = $uid;
  52. // 最大数量
  53. $limitMax = 20;
  54. $havaNum = $Model->query()->where([['custom_uid','=',$uid]])->count();
  55. // 如果是最大数量的话
  56. if( $havaNum > $limitMax ) return json_send(['code'=>'error','msg'=>'您已经有'.$limitMax.'条地址了','data'=>['error'=>'最多只能保20条地址']]);
  57. // 如果需要默认当前的话
  58. if( $data['is_default'] ) $Model->query()->where([['custom_uid','=',$uid]])->update(['is_default'=>0]);
  59. // 查询是否已经提交过
  60. $result = $Model->add($data);
  61. // 如果用户状态被拉黑,不允许登录
  62. if( !$result ) return json_send(['code'=>'error','msg'=>'保存失败,请重试','data'=>['error'=>'写入失败']]);
  63. // 返回结果
  64. return json_send(['code'=>'success','msg'=>'保存成功','data'=>$data]);
  65. }
  66. /**
  67. * 修改 /api/student_addr/edit
  68. *
  69. * @param string $code 授权码
  70. *
  71. * */
  72. public function edit(Request $request,Model $Model){
  73. // 接口验签
  74. // $this->verify_sign();
  75. // 检查登录
  76. $uid = $this->checkLogin();
  77. // 验证参数
  78. $request->scene('edit')->validate();
  79. // 接收参数
  80. $id = request('id',0);
  81. $data['contact_area'] = request('contact_area','');
  82. $data['type'] = request('type',0);
  83. $data['contact_school'] = request('contact_school','');
  84. $data['contact_grade'] = request('contact_grade','');
  85. $data['contact_class'] = request('contact_class','');
  86. $data['contact_name'] = request('contact_name','');
  87. $data['contact_phone'] = request('contact_phone','');
  88. $data['is_default'] = request('is_default',0);
  89. // 如果需要默认当前的话
  90. if( $data['is_default'] ) $Model->query()->where([['custom_uid','=',$uid]])->update(['is_default'=>0]);
  91. // 查询是否已经提交过
  92. $result = $Model->edit($id,$data);
  93. // 如果用户状态被拉黑,不允许登录
  94. if( !$result ) return json_send(['code'=>'error','msg'=>'保存失败,请重试','data'=>['error'=>'写入失败']]);
  95. // 返回结果
  96. return json_send(['code'=>'success','msg'=>'保存成功','data'=>$data]);
  97. }
  98. /**
  99. * 删除 /api/student_addr/del
  100. *
  101. * @param string $code 授权码
  102. *
  103. * */
  104. public function del(Request $request,Model $Model){
  105. // 接口验签
  106. // $this->verify_sign();
  107. // 检查登录
  108. $uid = $this->checkLogin();
  109. // 验证参数
  110. $request->scene('del')->validate();
  111. // 接收参数
  112. $id = request('id',0);
  113. // 如果需要默认当前的话
  114. $result = $Model->del($id);
  115. // 如果用户状态被拉黑,不允许登录
  116. if( !$result ) return json_send(['code'=>'success','msg'=>'删除失败','data'=>['error'=>'删除失败']]);
  117. // 返回结果
  118. return json_send(['code'=>'success','msg'=>'删除成功','data'=>['id'=>$id]]);
  119. }
  120. /**
  121. * 修改 /api/student_addr/set_default
  122. *
  123. * @param string $code 授权码
  124. *
  125. * */
  126. public function set_default(Request $request,Model $Model){
  127. // 接口验签
  128. // $this->verify_sign();
  129. // 检查登录
  130. $uid = $this->checkLogin();
  131. // 验证参数
  132. $request->scene('set_default')->validate();
  133. // 接收参数
  134. $id = request('id',0);
  135. // 如果需要默认当前的话
  136. $Model->query()->where([['custom_uid','=',$uid]])->update(['is_default'=>0]);
  137. // 查询是否已经提交过
  138. $result = $Model->edit($id,['is_default'=>1]);
  139. // 如果用户状态被拉黑,不允许登录
  140. if( !$result ) return json_send(['code'=>'error','msg'=>'保存失败,请重试','data'=>['error'=>'写入失败']]);
  141. // 返回结果
  142. return json_send(['code'=>'success','msg'=>'保存成功','data'=>['id'=>$id]]);
  143. }
  144. }