AddressInterfaces.php 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. <?php
  2. namespace app\index\controller;
  3. use app\common\model\ChangePointModel;
  4. use app\common\model\MessageModel;
  5. use app\common\model\ProductConfigModel;
  6. use app\common\model\OrderModel;
  7. use app\common\model\PayCodeModel;
  8. use app\common\model\UserAddressModel;
  9. use app\common\model\UserModel;
  10. use app\common\service\helperService;
  11. use app\common\service\ServiceBaseInfo;
  12. use app\common\service\ServiceSmsApi;
  13. use think\Config;
  14. use think\Db;
  15. use think\Session;
  16. use think\Validate;
  17. class AddressInterfaces extends Base
  18. {
  19. /**
  20. * 获得用户的默认地址
  21. */
  22. public function getUserDefaultAddress(){
  23. $user_no = Session::get('user_no');
  24. $userAddressModel = new UserAddressModel();
  25. $userDefaultAddress = $userAddressModel->getOne(['user_no'=>$user_no,'is_default'=>1,'status'=>1]);
  26. // print_r($userDefaultAddress);exit;
  27. if(empty($userDefaultAddress)){
  28. $data = [
  29. 'code'=>'400',
  30. 'msg'=>'没有设置默认地址',
  31. 'data'=>[],
  32. ];
  33. helperService::returnJson($data);
  34. }
  35. $userDefaultAddress['province'] = ServiceBaseInfo::getAddress(['level'=>1,'code'=>$userDefaultAddress['province_code']]);
  36. // print_r($userDefaultAddress['province']);exit;
  37. $userDefaultAddress['province'] = current($userDefaultAddress['province']);
  38. $userDefaultAddress['city'] = ServiceBaseInfo::getAddress(['level'=>2,'code'=>$userDefaultAddress['city_code']]);
  39. $userDefaultAddress['city'] = current($userDefaultAddress['city']);
  40. $userDefaultAddress['area'] = ServiceBaseInfo::getAddress(['level'=>3,'code'=>$userDefaultAddress['area_code']]);
  41. $userDefaultAddress['area'] = current($userDefaultAddress['area']);
  42. $data = [
  43. 'code'=>'200',
  44. 'msg'=>'操作成功',
  45. 'data'=>$userDefaultAddress,
  46. ];
  47. helperService::returnJson($data);
  48. }
  49. /**
  50. * 获得用户的所有地址
  51. */
  52. public function getUserAddress(){
  53. $user_no = Session::get('user_no');
  54. $userAddressModel = new UserAddressModel();
  55. $userAddress = $userAddressModel->getMulti(['user_no'=>$user_no,'status'=>1],'is_default asc');
  56. if(empty($userAddress)){
  57. $data = [
  58. 'code'=>'400',
  59. 'msg'=>'没有设置收货地址',
  60. 'data'=>[],
  61. ];
  62. helperService::returnJson($data);
  63. }
  64. foreach ($userAddress as &$address){
  65. $address['province'] = ServiceBaseInfo::getAddress(['level'=>1,'code'=>$address['province_code']]);
  66. $address['province'] = current($address['province']);
  67. $address['city'] = ServiceBaseInfo::getAddress(['level'=>2,'code'=>$address['city_code']]);
  68. $address['city'] = current($address['city']);
  69. $address['area'] = ServiceBaseInfo::getAddress(['level'=>3,'code'=>$address['area_code']]);
  70. $address['area'] = current($address['area']);
  71. }
  72. $data = [
  73. 'code'=>'200',
  74. 'msg'=>'操作成功',
  75. 'data'=>$userAddress,
  76. ];
  77. helperService::returnJson($data);
  78. }
  79. /**
  80. * 修改地址
  81. */
  82. public function editUserAddress(){
  83. $params = $this->request->param();
  84. $rule = [
  85. ['address_id','require|number'],
  86. ];
  87. $validate = new Validate($rule);
  88. if(!$validate->check($params)){
  89. $data = [
  90. 'code'=>'400',
  91. 'msg'=>$validate->getError(),
  92. 'data'=>[]
  93. ];
  94. helperService::returnJson($data);
  95. }
  96. $userAddressModel = new UserAddressModel();
  97. $userAddressInfo = $userAddressModel->getOne(['address_id'=>$params['address_id'],'status'=>1]);
  98. if(empty($userAddressInfo)){
  99. $data = [
  100. 'code'=>'400',
  101. 'msg'=>'地址信息有误',
  102. 'data'=>[]
  103. ];
  104. helperService::returnJson($data);
  105. }
  106. $userAddressInfo['province'] = ServiceBaseInfo::getAddress(['level'=>1,'code'=>$userAddressInfo['province_code']]);
  107. $userAddressInfo['province'] = current($userAddressInfo['province']);
  108. $userAddressInfo['city'] = ServiceBaseInfo::getAddress(['level'=>2,'code'=>$userAddressInfo['city_code']]);
  109. $userAddressInfo['city'] = current($userAddressInfo['city']);
  110. $userAddressInfo['area'] = ServiceBaseInfo::getAddress(['level'=>3,'code'=>$userAddressInfo['area_code']]);
  111. $userAddressInfo['area'] = current($userAddressInfo['area']);
  112. $data = [
  113. 'code'=>'200',
  114. 'msg'=>'success',
  115. 'data'=>$userAddressInfo
  116. ];
  117. helperService::returnJson($data);
  118. }
  119. /**
  120. * 省市区三级联动
  121. */
  122. public function getAddress(){
  123. $params = $this->request->param();
  124. $rule = [
  125. ['level','require|number'],
  126. ['code','number'],
  127. ];
  128. $validate = new Validate($rule);
  129. if(!$validate->check($params)){
  130. $data = [
  131. 'code'=>'400',
  132. 'msg'=>$validate->getError(),
  133. 'data'=>[]
  134. ];
  135. helperService::returnJson($data);
  136. }
  137. $arr['level'] = $params['level'];
  138. if(isset($params['code'])){
  139. $arr['code'] = $params['code'];
  140. }
  141. $return = ServiceBaseInfo::getAddress($arr);
  142. $data = [
  143. 'code'=>'200',
  144. 'msg'=>'success',
  145. 'data'=>$return,
  146. ];
  147. helperService::returnJson($data);
  148. }
  149. /**
  150. * 保存用户收货地址
  151. */
  152. public function saveUserAddress(){
  153. $params = $this->request->param();
  154. $rule = [
  155. ['consignee|收货人','require'],
  156. ['mobile|手机号','require|number|length:11'],
  157. ['province|省份','require'],
  158. ['city|城市','require'],
  159. // ['area|地区','require'],
  160. ['address|详细地址','require'],
  161. ['is_default|是否是默认地址','require|between:1,2']
  162. ];
  163. $validate = new Validate($rule);
  164. if(!$validate->check($params)){
  165. $data = [
  166. 'code'=>'400',
  167. 'msg'=>$validate->getError(),
  168. 'data'=>[]
  169. ];
  170. helperService::returnJson($data);
  171. }
  172. $addressId = isset($params['addressId'])?$params['addressId']:'';
  173. $userAddressModel = new UserAddressModel();
  174. $user_no = Session::get('user_no');
  175. $insertData = [
  176. 'user_no'=>$user_no,
  177. 'province_code'=>$params['province'],
  178. 'city_code'=>$params['city'],
  179. 'area_code'=>$params['area'],
  180. 'consignee'=>$params['consignee'],
  181. 'address'=>$params['address'],
  182. 'address_mobile'=>$params['mobile'],
  183. 'is_default'=>$params['is_default'],
  184. 'status'=>'1'
  185. ];
  186. $checkInfo = $userAddressModel->getOne(['address_id'=>$addressId]);
  187. if($insertData['is_default'] == 1){
  188. $userAddressModel->saveData(['is_default'=>2],['status'=>1,'user_no'=>$user_no,'is_default'=>'1']);
  189. }else{
  190. if($checkInfo['is_default'] == 1){
  191. $insertData['is_default'] = 1;
  192. }
  193. }
  194. $return = $userAddressModel->saveData($insertData,array_filter(['address_id'=>$addressId]));
  195. if($return === false){
  196. $data = [
  197. 'code'=>'400',
  198. 'msg'=>'收货地址保存失败',
  199. 'data'=>[],
  200. ];
  201. helperService::returnJson($data);
  202. }
  203. $data = [
  204. 'code'=>'200',
  205. 'msg'=>'保存成功',
  206. 'data'=>[],
  207. ];
  208. helperService::returnJson($data);
  209. }
  210. /**
  211. * 删除用户的地址信息
  212. */
  213. public function deleteUserAddress(){
  214. $params = $this->request->param();
  215. $rule = [
  216. ['address_id','require|number'],
  217. ];
  218. $validate = new Validate($rule);
  219. if(!$validate->check($params)){
  220. $data = [
  221. 'code'=>'400',
  222. 'msg'=>$validate->getError(),
  223. 'data'=>[]
  224. ];
  225. helperService::returnJson($data);
  226. }
  227. $userAddressModel = new UserAddressModel();
  228. $return = $userAddressModel->saveData(['status'=>2],['address_id'=>$params['address_id']]);
  229. if($return === false){
  230. $data = [
  231. 'code'=>'400',
  232. 'msg'=>'收货地址删除失败',
  233. 'data'=>[],
  234. ];
  235. helperService::returnJson($data);
  236. }
  237. $data = [
  238. 'code'=>'200',
  239. 'msg'=>'收货地址删除成功',
  240. 'data'=>[],
  241. ];
  242. helperService::returnJson($data);
  243. }
  244. /**
  245. * 保存用户的默认收货地址
  246. */
  247. public function saveDefaultAddress(){
  248. $params = $this->request->param();
  249. $rule = [
  250. ['address_id','require|number'],
  251. ];
  252. $validate = new Validate($rule);
  253. if(!$validate->check($params)){
  254. $data = [
  255. 'code'=>'400',
  256. 'msg'=>$validate->getError(),
  257. 'data'=>[]
  258. ];
  259. helperService::returnJson($data);
  260. }
  261. $userAddressModel = new UserAddressModel();
  262. $return = $userAddressModel->saveData(['is_default'=>1],['address_id'=>$params['address_id']]);
  263. if($return === false){
  264. $data = [
  265. 'code'=>'400',
  266. 'msg'=>'收货地址删除失败',
  267. 'data'=>[],
  268. ];
  269. helperService::returnJson($data);
  270. }
  271. $data = [
  272. 'code'=>'200',
  273. 'msg'=>'收货地址删除成功',
  274. 'data'=>[],
  275. ];
  276. helperService::returnJson($data);
  277. }
  278. }