优惠券小程序

UserController.php 7.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Http\Controllers\Controller;
  4. use App\Service\UserService;
  5. use Illuminate\Http\Request;
  6. use Illuminate\Validation\Rule;
  7. class UserController extends Controller
  8. {
  9. /**
  10. * 意见反馈
  11. * */
  12. public function feedback(Request $request)
  13. {
  14. $validator = \Validator::make($request->all(), [
  15. 'user_id' => 'required|int',
  16. 'desc' => 'required|string',
  17. ]);
  18. if ($validator->fails()) {
  19. return self::returnValue($validator->getMessageBag(), 1102);
  20. }
  21. $userId = $request->input('user_id');
  22. $desc = $request->input('desc');
  23. # 保存
  24. $errno = UserService::saveFeedback($userId, $desc);
  25. return self::returnValue([], $errno);
  26. }
  27. /**
  28. * 商品收藏 / 商品浏览
  29. * */
  30. public function goodsCollect(Request $request)
  31. {
  32. $validator = \Validator::make($request->all(), [
  33. 'user_id' => 'required|int',
  34. 'item_id' => 'required|int',
  35. 'shop_type' => 'required|int',
  36. ]);
  37. if ($validator->fails()) {
  38. return self::returnValue($validator->getMessageBag(), 1102);
  39. }
  40. $userId = (int)$request->input('user_id');
  41. $itemId = $request->input('item_id');
  42. $params['pid'] = $request->input('pid'); // 推广位id
  43. $params['item_title'] = $request->input('item_title'); // 宝贝标题
  44. $params['item_short_title'] = $request->input('item_short_title'); // 宝贝短标题
  45. $params['item_price'] = $request->input('item_price') * 100; // 在售价(单位:分)
  46. $params['item_end_price'] = $request->input('item_end_price') * 100; // 券后价(单位:分)
  47. $params['shop_type'] = $request->input('shop_type'); // 店铺类型。1天猫 2淘宝
  48. $params['coupon_money'] = $request->input('coupon_money') * 100; // 优惠券金额(单位:分)
  49. $params['item_pic'] = $request->input('item_pic'); // 宝贝主图
  50. $params['type'] = $request->input('type', 1); // 1商品收藏 2商品浏览
  51. $params['is_del'] = $request->input('is_del', 0);
  52. $params['enable'] = $request->input('enable', 1);
  53. # 商品收藏信息处理
  54. $errno = UserService::goodsInterest($userId, $itemId, 1, $params);
  55. return self::returnValue([], $errno);
  56. }
  57. /**
  58. * 我的收藏/浏览历史
  59. * */
  60. public function myInterest(Request $request)
  61. {
  62. $validator = \Validator::make($request->all(), [
  63. 'user_id' => 'required|int',
  64. 'type' => ['required', Rule::in([1, 2])],
  65. ]);
  66. if ($validator->fails()) {
  67. return self::returnValue($validator->getMessageBag(), 1102);
  68. }
  69. $userId = (int)$request->input('user_id');
  70. $type = (int)$request->input('type');
  71. $page = $request->input('page', 1);
  72. $pageSize = $request->input('page_size', 20);
  73. # 获取我的收藏列表
  74. list($list, $count) = UserService::getUserInterestList($userId, $type, $page, $pageSize);
  75. return self::returnPageValue($list, $count, $pageSize, $page);
  76. }
  77. /**
  78. * 移除收藏/浏览历史
  79. * */
  80. public function removeInterest(Request $request)
  81. {
  82. $validator = \Validator::make($request->all(), [
  83. 'user_id' => 'required|int',
  84. 'ids' => 'required|string',
  85. 'type' => ['required', Rule::in([1, 2])],
  86. ]);
  87. if ($validator->fails()) {
  88. return self::returnValue($validator->getMessageBag(), 1102);
  89. }
  90. $userId = $request->input('user_id');
  91. $type = $request->input('type');
  92. $ids = $request->input('ids');
  93. # 保存
  94. $errno = UserService::removeInterest($userId, $ids, $type);
  95. return self::returnValue([], $errno);
  96. }
  97. /**
  98. * 用户搜索关键词历史
  99. * */
  100. public function searchHistory(Request $request)
  101. {
  102. $validator = \Validator::make($request->all(), [
  103. 'user_id' => 'required|int',
  104. ]);
  105. if ($validator->fails()) {
  106. return self::returnValue($validator->getMessageBag(), 1102);
  107. }
  108. $userId = $request->input('user_id');
  109. $data = UserService::getSearchHistory($userId);
  110. return self::returnValue($data);
  111. }
  112. /**
  113. * 删除搜索历史
  114. * */
  115. public function delSearchHistory(Request $request)
  116. {
  117. $validator = \Validator::make($request->all(), [
  118. 'user_id' => 'required|int',
  119. ]);
  120. if ($validator->fails()) {
  121. return self::returnValue($validator->getMessageBag(), 1102);
  122. }
  123. $userId = $request->input('user_id');
  124. $errno = UserService::delSearchHistory($userId);
  125. return self::returnValue([], $errno);
  126. }
  127. /**
  128. * 用户分享记录保存
  129. * */
  130. public function shareRecord(Request $request)
  131. {
  132. $validator = \Validator::make($request->all(), [
  133. 'user_id' => 'required|int',
  134. 'ids' => 'required|string',
  135. 'type' => ['required', Rule::in([1, 2])],
  136. ]);
  137. if ($validator->fails()) {
  138. return self::returnValue($validator->getMessageBag(), 1102);
  139. }
  140. $userId = $request->input('user_id');
  141. $type = $request->input('type');
  142. $ids = $request->input('ids');
  143. # 保存
  144. $errno = 0;
  145. $shareId = UserService::saveShareRecord($userId, $ids, $type, $errno);
  146. if($errno)
  147. return self::returnValue([], $errno);
  148. return self::returnValue(['share_id' => $shareId]);
  149. }
  150. /**
  151. * 获取用户分享记录详情
  152. * */
  153. public function shareInfo(Request $request)
  154. {
  155. $validator = \Validator::make($request->all(), [
  156. 'uid' => 'required|int',
  157. 'share_id' => 'required|int',
  158. ]);
  159. if ($validator->fails()) {
  160. return self::returnValue($validator->getMessageBag(), 1102);
  161. }
  162. $userId = $request->input('uid');
  163. $shareId = $request->input('share_id');
  164. $errno = 0;
  165. $data = UserService::getShareInfo($userId, $shareId, $errno);
  166. return self::returnValue($data, $errno);
  167. }
  168. /**
  169. * 配置用户头像/昵称
  170. * */
  171. public function setInfo(Request $request)
  172. {
  173. $validator = \Validator::make($request->all(), [
  174. 'user_id' => 'required|int',
  175. 'nickname' => 'required|max:20',
  176. ]);
  177. if ($validator->fails()) {
  178. return self::returnValue($validator->getMessageBag(), 1102);
  179. }
  180. $userId = $request->input('user_id');
  181. $type = $request->input('type', 1); // 1:链接 2:文件
  182. $avatarUrl = $type==1 ? $request->input('avatar_file') : $request->file('avatar_file');
  183. $nickname = $request->input('nickname');
  184. $errno = 0;
  185. $data = UserService::setUserInfo($userId, $type, $avatarUrl, $nickname, $errno);
  186. return self::returnValue([], $errno);
  187. }
  188. }