CustomAddr.php 5.3 KB

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