StudentAddr.php 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. <?php namespace App\Http\Controllers\Api;
  2. use App\Http\Controllers\Api\Api;
  3. use App\Models\CustomAddr as Model;
  4. use App\Http\Requests\Api\CustomAddr 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['contact_area'] = request('contact_area','');
  43. $data['contact_school'] = request('contact_school','');
  44. $data['contact_grade'] = request('contact_grade','');
  45. $data['contact_class'] = request('contact_class','');
  46. $data['contact_name'] = request('contact_name','');
  47. $data['contact_phone'] = request('contact_phone','');
  48. $data['is_default'] = request('is_default',0);
  49. $data['custom_uid'] = $uid;
  50. // 最大数量
  51. $limitMax = 20;
  52. $havaNum = $Model->query()->where([['custom_uid','=',$uid]])->count();
  53. // 如果是最大数量的话
  54. if( $havaNum > $limitMax ) return json_send(['code'=>'error','msg'=>'您已经有'.$limitMax.'条地址了','data'=>['error'=>'最多只能保20条地址']]);
  55. // 如果需要默认当前的话
  56. if( $data['is_default'] ) $Model->query()->where([['custom_uid','=',$uid]])->update(['is_default'=>0]);
  57. // 查询是否已经提交过
  58. $result = $Model->add($data);
  59. // 如果用户状态被拉黑,不允许登录
  60. if( !$result ) return json_send(['code'=>'error','msg'=>'保存失败,请重试','data'=>['error'=>'写入失败']]);
  61. // 返回结果
  62. return json_send(['code'=>'success','msg'=>'保存成功','data'=>$data]);
  63. }
  64. /**
  65. * 修改 /api/student_addr/edit
  66. *
  67. * @param string $code 授权码
  68. *
  69. * */
  70. public function edit(Request $request,Model $Model){
  71. // 接口验签
  72. // $this->verify_sign();
  73. // 检查登录
  74. $uid = $this->checkLogin();
  75. // 验证参数
  76. $request->scene('edit')->validate();
  77. // 接收参数
  78. $id = request('id',0);
  79. $data['contact_area'] = request('contact_area','');
  80. $data['contact_school'] = request('contact_school','');
  81. $data['contact_grade'] = request('contact_grade','');
  82. $data['contact_class'] = request('contact_class','');
  83. $data['contact_name'] = request('contact_name','');
  84. $data['contact_phone'] = request('contact_phone','');
  85. $data['is_default'] = request('is_default',0);
  86. $data['is_default'] = request('is_default',0);
  87. // 如果需要默认当前的话
  88. if( $data['is_default'] ) $Model->query()->where([['custom_uid','=',$uid]])->update(['is_default'=>0]);
  89. // 查询是否已经提交过
  90. $result = $Model->edit($id,$data);
  91. // 如果用户状态被拉黑,不允许登录
  92. if( !$result ) return json_send(['code'=>'error','msg'=>'保存失败,请重试','data'=>['error'=>'写入失败']]);
  93. // 返回结果
  94. return json_send(['code'=>'success','msg'=>'保存成功','data'=>$data]);
  95. }
  96. /**
  97. * 删除 /api/student_addr/del
  98. *
  99. * @param string $code 授权码
  100. *
  101. * */
  102. public function del(Request $request,Model $Model){
  103. // 接口验签
  104. // $this->verify_sign();
  105. // 检查登录
  106. $uid = $this->checkLogin();
  107. // 验证参数
  108. $request->scene('del')->validate();
  109. // 接收参数
  110. $id = request('id',0);
  111. // 如果需要默认当前的话
  112. $result = $Model->del($id);
  113. // 如果用户状态被拉黑,不允许登录
  114. if( !$result ) return json_send(['code'=>'success','msg'=>'删除失败','data'=>['error'=>'删除失败']]);
  115. // 返回结果
  116. return json_send(['code'=>'success','msg'=>'删除成功','data'=>['id'=>$id]]);
  117. }
  118. /**
  119. * 修改 /api/student_addr/set_default
  120. *
  121. * @param string $code 授权码
  122. *
  123. * */
  124. public function set_default(Request $request,Model $Model){
  125. // 接口验签
  126. // $this->verify_sign();
  127. // 检查登录
  128. $uid = $this->checkLogin();
  129. // 验证参数
  130. $request->scene('set_default')->validate();
  131. // 接收参数
  132. $id = request('id',0);
  133. // 如果需要默认当前的话
  134. $Model->query()->where([['custom_uid','=',$uid]])->update(['is_default'=>0]);
  135. // 查询是否已经提交过
  136. $result = $Model->edit($id,['is_default'=>1]);
  137. // 如果用户状态被拉黑,不允许登录
  138. if( !$result ) return json_send(['code'=>'error','msg'=>'保存失败,请重试','data'=>['error'=>'写入失败']]);
  139. // 返回结果
  140. return json_send(['code'=>'success','msg'=>'保存成功','data'=>['id'=>$id]]);
  141. }
  142. }