CustomAddr.php 5.2 KB

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