ForceSubscribeUsersController.php 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613
  1. <?php
  2. namespace App\Http\Controllers\Wechat\OfficialAccount;
  3. use Illuminate\Routing\Controller as ChannelBaseController;
  4. use App\Modules\OfficialAccount\Models\ForceSubscribeUsers;
  5. use App\Modules\OfficialAccount\Services\ForceSubscribeService;
  6. use App\Modules\OfficialAccount\Services\CustomMsgService;
  7. use App\Http\Controllers\Channel\OfficialAccount\Transformers\CustomMsgControllerTransformer;
  8. use App\Http\Controllers\Wechat\OfficialAccount\Transformers\ForceSubscribeUsersTransformer;
  9. use Illuminate\Http\Request;
  10. use GuzzleHttp\Client;
  11. use App\Libs\OSS;
  12. use Redis;
  13. use OSS\Core\OssException;
  14. use OSS\OssClient;
  15. class ForceSubscribeUsersController extends ChannelBaseController
  16. {
  17. /**
  18. * @apiDefine OfficialAccount 公众号
  19. */
  20. /**
  21. * @apiVersion 1.0.0
  22. * @api {GET} OfficialAccount/forceSubscribeUsersByAppidAndOpenId 通过appid和openid获取强关用户
  23. * @apiGroup OfficialAccount
  24. * @apiName forceSubscribeUsersByAppidAndOpenId
  25. * @apiParam {Number} appid 微信appID.
  26. * @apiParam {Number} openid 公众号openid.
  27. * @apiSuccess {Number} uid 用户id.
  28. * @apiSuccess {Number} official_account_id 公众账号id.
  29. * @apiSuccess {Number} distribution_channel_id 分配的渠道id.
  30. * @apiSuccess {Number} openid 公众号openid.
  31. * @apiSuccess {Number} appid 微信appID.
  32. * @apiSuccess {Number} is_subscribed 是否强关.
  33. * @apiSuccess {String} subscribe_time 强关时间.
  34. * @apiSuccess {String} unsubscribe_time 取关时间.
  35. * @apiSuccess {String} last_interactive_time 强关用户与公众号最后交互时间.
  36. * @apiSuccessExample {json} Success-Response:
  37. *
  38. * {
  39. * "code": 0,
  40. * "msg": "",
  41. * "data": {
  42. * "uid": 12121212,
  43. * "official_account_id": 11111,
  44. * "distribution_channel_id": 2323213,
  45. * "appid": 112211,
  46. * "openid": 11232,
  47. * "is_subscribed": 0,
  48. * "subscribe_time": "2017-11-22 21:37:15",
  49. * "unsubscribe_time": "2017-11-22 22:36:50",
  50. * "last_interactive_time": "2017-11-22 22:36:50"
  51. * }
  52. * }
  53. */
  54. function forceSubscribeUsersByAppidAndOpenId(Request $request)
  55. {
  56. $appid = $request->has('appid') ? $request->input('appid') : '';
  57. if(empty($appid)) {
  58. return response()->error("PARAM_EMPTY");
  59. }
  60. $openid = $request->has('openid') ? $request->input('openid') : '';
  61. if(empty($openid)) {
  62. return response()->error("PARAM_EMPTY");
  63. }
  64. $forceSubscribeUsers['appid'] = $appid;
  65. $forceSubscribeUsers['openid'] = $openid;
  66. $forceSubscribeUsersService = ForceSubscribeService::forceSubscribeUsersByAppidAndOpenId($forceSubscribeUsers);
  67. return response()->item(new ForceSubscribeUsersTransformer(), $forceSubscribeUsersService);
  68. }
  69. function forceSubscribeUsersByOpenidAndAppidAndChannelId(Request $request)
  70. {
  71. $appid = $request->has('appid') ? $request->input('appid') : '';
  72. if(empty($appid)) {
  73. return response()->error("PARAM_EMPTY");
  74. }
  75. $openid = $request->has('openid') ? $request->input('openid') : '';
  76. if(empty($openid)) {
  77. return response()->error("PARAM_EMPTY");
  78. }
  79. $distribution_channel_id = $request->has('distribution_channel_id') ? $request->input('distribution_channel_id') : '';
  80. if(empty($distribution_channel_id)) {
  81. return response()->error("PARAM_EMPTY");
  82. }
  83. $forceSubscribeUsers['appid'] = $appid;
  84. $forceSubscribeUsers['openid'] = $openid;
  85. $forceSubscribeUsers['distribution_channel_id'] = $distribution_channel_id;
  86. $forceSubscribeUsersService = ForceSubscribeService::forceSubscribeUsersByOpenidAndAppidAndChannelId($forceSubscribeUsers);
  87. return response()->item(new ForceSubscribeUsersTransformer(), $forceSubscribeUsersService);
  88. }
  89. /**
  90. * @apiDefine OfficialAccount 公众号
  91. */
  92. /**
  93. * @apiVersion 1.0.0
  94. * @api {GET} OfficialAccount/forceSubscribeUsersByUid 通过uid获取强关用户
  95. * @apiGroup OfficialAccount
  96. * @apiName forceSubscribeUsersByUid
  97. * @apiParam {Number} uid 用户id.
  98. * @apiSuccess {Number} uid 用户id.
  99. * @apiSuccess {Number} official_account_id 公众账号id.
  100. * @apiSuccess {Number} distribution_channel_id 分配的渠道id.
  101. * @apiSuccess {Number} openid 公众号openid.
  102. * @apiSuccess {Number} appid 微信appID.
  103. * @apiSuccess {Number} is_subscribed 是否强关.
  104. * @apiSuccess {String} subscribe_time 强关时间.
  105. * @apiSuccess {String} unsubscribe_time 取关时间.
  106. * @apiSuccess {String} last_interactive_time 强关用户与公众号最后交互时间.
  107. * @apiSuccessExample {json} Success-Response:
  108. *
  109. * {
  110. * "code": 0,
  111. * "msg": "",
  112. * "data": {
  113. * "uid": 12121212,
  114. * "official_account_id": 11111,
  115. * "distribution_channel_id": 2323213,
  116. * "appid": 112211,
  117. * "openid": 11232,
  118. * "is_subscribed": 0,
  119. * "subscribe_time": "2017-11-22 21:37:15",
  120. * "unsubscribe_time": "2017-11-22 22:36:50",
  121. * "last_interactive_time": "2017-11-22 22:36:50"
  122. * }
  123. * }
  124. */
  125. function forceSubscribeUsersByUid(Request $request)
  126. {
  127. $uid = $request->has('uid') ? $request->input('uid') : '';
  128. if(empty($uid)) {
  129. return response()->error("PARAM_EMPTY");
  130. }
  131. $forceSubscribeUsers['uid'] = $uid;
  132. $forceSubscribeUsersService = ForceSubscribeService::forceSubscribeUsersByUid($forceSubscribeUsers);
  133. return response()->item(new ForceSubscribeUsersTransformer(), $forceSubscribeUsersService);
  134. }
  135. /**
  136. * @apiVersion 1.0.0
  137. * @api {POST} OfficialAccount/addForceSubscribeUsers 增加强关用户
  138. * @apiGroup OfficialAccount
  139. * @apiName addForceSubscribeUsers
  140. * @apiParam {Number} uid 用户id.
  141. * @apiParam {Number} official_account_id 公众账号id.
  142. * @apiParam {Number} distribution_channel_id 分配的渠道id.
  143. * @apiParam {Number} openid 公众号openid.
  144. * @apiParam {Number} appid 微信appID.
  145. * @apiParam {Number} is_subscribed 是否强关.
  146. * @apiParam {String} subscribe_time 强关时间.
  147. * @apiParam {String} unsubscribe_time 取关时间.
  148. * @apiParam {String} last_interactive_time 强关用户与公众号最后交互时间.
  149. * @apiSuccessExample {json} Success-Response:
  150. *
  151. * {
  152. * "code": 0,
  153. * "msg": "",
  154. * "data": []
  155. * }
  156. */
  157. function addForceSubscribeUsers(Request $request) {
  158. $uid = $request->has('uid') ? $request->input('uid') : '';
  159. if(empty($uid)) {
  160. return response()->error("PARAM_EMPTY");
  161. }
  162. $appid = $request->has('appid') ? $request->input('appid') : '';
  163. if(empty($appid)) {
  164. return response()->error("PARAM_EMPTY");
  165. }
  166. $openid = $request->has('openid') ? $request->input('openid') : '';
  167. if(empty($openid)) {
  168. return response()->error("PARAM_EMPTY");
  169. }
  170. $is_subscribed = $request->has('is_subscribed') ? $request->input('is_subscribed') : '1';
  171. $distribution_channel_id = $request->has('distribution_channel_id') ? $request->input('distribution_channel_id') : '';
  172. $last_interactive_time = date("Y-m-d H:i:s");
  173. $unionid = $request->has('unionid') ? $request->input('unionid') : '1';
  174. $province = $request->has('province') ? $request->input('province') : '';
  175. $city = $request->has('city') ? $request->input('city') : '';
  176. $country = $request->has('country') ? $request->input('country') : '';
  177. $nick_name = $request->has('nick_name') ? $request->input('nick_name') : '';
  178. $sex = $request->has('sex') ? $request->input('sex') : '';
  179. $headimgurl = $request->has('head_img') ? $request->input('head_img') : '';
  180. $forceSubscribeUsers['uid'] = $uid;
  181. $forceSubscribeUsers['appid'] = $appid;
  182. $forceSubscribeUsers['openid'] = $openid;
  183. $forceSubscribeUsers['nick_name'] = $nick_name;
  184. $forceSubscribeUsers['is_subscribed'] = $is_subscribed;
  185. $forceSubscribeUsers['distribution_channel_id'] = $distribution_channel_id;
  186. $forceSubscribeUsers['last_interactive_time'] = $last_interactive_time;
  187. $forceSubscribeUsers['unionid'] = $unionid;
  188. $forceSubscribeUsers['province'] = $province;
  189. $forceSubscribeUsers['city'] = $city;
  190. $forceSubscribeUsers['country'] = $country;
  191. $forceSubscribeUsers['sex'] = $sex;
  192. $forceSubscribeUsers['headimgurl'] = $headimgurl;
  193. $resultStatus = ForceSubscribeService::addForceSubscribeUsers($forceSubscribeUsers);
  194. // 更新交互中间表
  195. $tempResultStatus = ForceSubscribeService::tempForceSubscribeUsersLastTimeUpdate($forceSubscribeUsers);
  196. if ($resultStatus == 1) {
  197. return response()->success();
  198. }elseif ($resultStatus == 2) {
  199. return response()->error('ADDFORCESUBSCRIBEUSER_UNSUCCESSFUL');
  200. }elseif ($resultStatus == 0) {
  201. return response()->error('ADDFORCESUBSCRIBEUSER_UNSUCCESSFUL');
  202. }else{
  203. return response()->error('ADDFORCESUBSCRIBEUSER_UNSUCCESSFUL');
  204. }
  205. }
  206. /**
  207. * @apiVersion 1.0.0
  208. * @api {GET} OfficialAccount/ForceSubscribeUsersLastTimeUpdate 强关用户与公众号最后交互时间更新
  209. * @apiGroup OfficialAccount
  210. * @apiName ForceSubscribeUsersLastTimeUpdate
  211. * @apiParam {Number} openid 公众号openid.
  212. * @apiParam {String} last_interactive_time 强关用户与公众号最后交互时间.
  213. * @apiSuccessExample {json} Success-Response:
  214. *
  215. * {
  216. * "code": 0,
  217. * "msg": "",
  218. * "data": []
  219. * }
  220. */
  221. function forceSubscribeUsersLastTimeUpdate(Request $request) {
  222. $openid = $request->has('openid') ? $request->input('openid') : '';
  223. if(empty($openid)) {
  224. return response()->error("PARAM_EMPTY");
  225. }
  226. $last_interactive_time = $request->has('last_interactive_time') ? $request->input('last_interactive_time') : '';
  227. if(empty($last_interactive_time)) {
  228. return response()->error("PARAM_EMPTY");
  229. }
  230. $forceSubscribeUsers['openid'] = $openid;
  231. $forceSubscribeUsers['last_interactive_time'] = $last_interactive_time;
  232. $resultStatus = ForceSubscribeService::forceSubscribeUsersLastTimeUpdate($forceSubscribeUsers);
  233. // 更新交互中间表
  234. $tempResultStatus = ForceSubscribeService::tempForceSubscribeUsersLastTimeUpdate($forceSubscribeUsers);
  235. if ($resultStatus == 1) {
  236. return response()->success();
  237. }elseif ($resultStatus == 2) {
  238. return response()->error("FORCESUBSCRIBEUSER_NOT_FOUND");
  239. }elseif ($resultStatus == 0) {
  240. return response()->error('UPDATEFORCESUBSCRIBEUSER_UNSUCCESSFUL');
  241. }else{
  242. return response()->error('UPDATEFORCESUBSCRIBEUSER_UNSUCCESSFUL');
  243. }
  244. }
  245. /**
  246. * @apiVersion 1.0.0
  247. * @api {GET} OfficialAccount/updateForceSubscribeUsers 强关用户强制更新uid
  248. * @apiGroup OfficialAccount
  249. * @apiName updateForceSubscribeUsers
  250. * @apiParam {Number} openid 公众号openid.
  251. * @apiParam {String} uid 强关用户uid.
  252. * @apiSuccessExample {json} Success-Response:
  253. *
  254. * {
  255. * "code": 0,
  256. * "msg": "",
  257. * "data": []
  258. * }
  259. */
  260. function updateForceSubscribeUsers(Request $request) {
  261. $openid = $request->has('openid') ? $request->input('openid') : '';
  262. if(empty($openid)) {
  263. return response()->error("PARAM_EMPTY");
  264. }
  265. $uid = $request->has('uid') ? $request->input('uid') : '';
  266. if(empty($uid)) {
  267. return response()->error("PARAM_EMPTY");
  268. }
  269. $forceSubscribeUsers = array();
  270. $forceSubscribeUsers['openid'] = $openid;
  271. $forceSubscribeUsers['uid'] = $uid;
  272. $resultStatus = ForceSubscribeService::updateSubscribeUsersUid($forceSubscribeUsers);
  273. if ($resultStatus == 1) {
  274. return response()->success();
  275. }elseif ($resultStatus == 2) {
  276. return response()->error("FORCESUBSCRIBEUSER_NOT_FOUND");
  277. }elseif ($resultStatus == 0) {
  278. return response()->error('UPDATEFORCESUBSCRIBEUSER_UNSUCCESSFUL');
  279. }else{
  280. return response()->error('UPDATEFORCESUBSCRIBEUSER_UNSUCCESSFUL');
  281. }
  282. }
  283. /**
  284. * @apiVersion 1.0.0
  285. * @api {GET} OfficialAccount/cancelForceSubscribeUsers 取消用户强制关注
  286. * @apiGroup OfficialAccount
  287. * @apiName cancelForceSubscribeUsers
  288. * @apiParam {Number} uid 用户id.
  289. * @apiParam {Number} openid 公众号openid.
  290. * @apiSuccessExample {json} Success-Response:
  291. *
  292. * {
  293. * "code": 0,
  294. * "msg": "",
  295. * "data": []
  296. * }
  297. */
  298. function cancelForceSubscribeUsers(Request $request) {
  299. // $uid = $request->has('uid') ? $request->input('uid') : '';
  300. $openid = $request->has('openid') ? $request->input('openid') : '';
  301. if(empty($openid)) {
  302. return response()->error("PARAM_EMPTY");
  303. }
  304. $appid = $request->has('appid') ? $request->input('appid') : '';
  305. if(empty($appid)) {
  306. return response()->error("PARAM_EMPTY");
  307. }
  308. $forceSubscribeUsers['openid'] = $openid;
  309. $forceSubscribeUsers['appid'] = $appid;
  310. $resultStatus = ForceSubscribeService::cancelForceSubscribeUsers($forceSubscribeUsers);
  311. // 更新交互中间表
  312. $tempResultStatus = ForceSubscribeService::tempForceSubscribeUsersLastTimeUpdate($forceSubscribeUsers);
  313. if ($resultStatus == 1) {
  314. return response()->success();
  315. }elseif ($resultStatus == 2) {
  316. return response()->error("FORCESUBSCRIBEUSER_NOT_FOUND");
  317. }elseif ($resultStatus == 0) {
  318. return response()->error('UPDATEFORCESUBSCRIBEUSER_UNSUCCESSFUL');
  319. }else{
  320. return response()->error('CANCELFORCESUBSCRIBEUSER_UNSUCCESSFUL');
  321. }
  322. }
  323. /**
  324. * @apiVersion 1.0.0
  325. * @api {POST} OfficialAccount/subscribeForceSubscribeUsers 更新用户为强制关注
  326. * @apiGroup OfficialAccount
  327. * @apiName addForceSubscribeUsers
  328. * @apiParam {Number} uid 用户id.
  329. * @apiParam {Number} official_account_id 公众账号id.
  330. * @apiParam {Number} distribution_channel_id 分配的渠道id.
  331. * @apiParam {Number} openid 公众号openid.
  332. * @apiParam {Number} appid 微信appID.
  333. * @apiParam {Number} is_subscribed 是否强关.
  334. * @apiParam {String} subscribe_time 强关时间.
  335. * @apiParam {String} unsubscribe_time 取关时间.
  336. * @apiParam {String} last_interactive_time 强关用户与公众号最后交互时间.
  337. * @apiSuccessExample {json} Success-Response:
  338. *
  339. * {
  340. * "code": 0,
  341. * "msg": "",
  342. * "data": []
  343. * }
  344. */
  345. function subscribeForceSubscribeUsers(Request $request) {
  346. $appid = $request->has('appid') ? $request->input('appid') : '';
  347. if(empty($appid)) {
  348. return response()->error("PARAM_EMPTY");
  349. }
  350. $openid = $request->has('openid') ? $request->input('openid') : '';
  351. if(empty($openid)) {
  352. return response()->error("PARAM_EMPTY");
  353. }
  354. $distribution_channel_id = $request->has('distribution_channel_id') ? $request->input('distribution_channel_id') : '';
  355. $last_interactive_time = date("Y-m-d H:i:s");
  356. $forceSubscribeUsers = ForceSubscribeUsers::forceSubscribeUsersByOpenid($openid);
  357. $forceSubscribeUsers['appid'] = $appid;
  358. $forceSubscribeUsers['openid'] = $openid;
  359. $forceSubscribeUsers['distribution_channel_id'] = $distribution_channel_id;
  360. $forceSubscribeUsers['last_interactive_time'] = $last_interactive_time;
  361. $resultStatus = ForceSubscribeService::subscribeForceSubscribeUsers($forceSubscribeUsers);
  362. if ($resultStatus == 1) {
  363. return response()->success();
  364. }elseif ($resultStatus == 2) {
  365. return response()->error("FORCESUBSCRIBEUSER_NOT_FOUND");
  366. }elseif ($resultStatus == 0) {
  367. return response()->error('UPDATEFORCESUBSCRIBEUSER_UNSUCCESSFUL');
  368. }else{
  369. return response()->error('CANCELFORCESUBSCRIBEUSER_UNSUCCESSFUL');
  370. }
  371. }
  372. //------------------------------------方法测试--
  373. function testSendTextOfficialMsg(Request $request) {
  374. $user['uid'] = 13;
  375. $user['last_interactive_time'] = '2017-12-19 01:11:12';
  376. $user['distribution_channel_id'] = 1;
  377. $user['appid'] = 'wxdbc486f1b4f6a8c3';
  378. $user['openid'] = 'oAcqg1Lc9cjEPznNcjU_6oi1Wj0s';
  379. $user['is_subscribed'] = 1;
  380. $user['id'] = 16;
  381. $user['bid'] = 3;
  382. // CustomMsgService::add_news_top_book_test($user);
  383. CustomMsgService::add_news_top_book();
  384. return response()->success(['success'=>1]);
  385. }
  386. function forceSubscribeUserCountByChannelIdAndDate(Request $request) {
  387. $distribution_channel_id = $request->has('distribution_channel_id') ? $request->input('distribution_channel_id') : '';
  388. if(empty($distribution_channel_id)) {
  389. return response()->error("PARAM_EMPTY");
  390. }
  391. $startTime = $request->has('startTime') ? $request->input('startTime') : '';
  392. if(empty($startTime)) {
  393. return response()->error("PARAM_EMPTY");
  394. }
  395. $endTime = $request->has('endTime') ? $request->input('endTime') : '';
  396. if(empty($startTime)) {
  397. return response()->error("PARAM_EMPTY");
  398. }
  399. $usersCount = ForceSubscribeService::forceSubscribeUserCountByChannelIdAndDate($distribution_channel_id,$startTime,$endTime);
  400. return response()->success($usersCount);
  401. }
  402. function customerImgUrlByChannelId(Request $request) {
  403. $distribution_channel_id = $request->has('distribution_channel_id') ? $request->input('distribution_channel_id') : '';
  404. if(empty($distribution_channel_id)) {
  405. return response()->error("PARAM_EMPTY");
  406. }
  407. $distributionChannelSetting = CustomMsgService::customerImgUrlByChannelId($distribution_channel_id);
  408. if (!empty($distributionChannelSetting)) {
  409. # code...
  410. return response()->success($distributionChannelSetting['customer_img_url']);
  411. }else{
  412. return response()->success(['data'=>0]);
  413. }
  414. }
  415. /**
  416. * 得到素材强关的映射关系(distribution_channel_id,openid => uid)
  417. * @param Request $request
  418. */
  419. function getMaterialForceSubscribeMapping(Request $request) {
  420. $distribution_channel_id = $request->has('distribution_channel_id') ? $request->input('distribution_channel_id') : '';
  421. if(empty($distribution_channel_id)) {
  422. return response()->error("PARAM_EMPTY");
  423. }
  424. $openid = $request->has('openid') ? $request->input('openid') : '';
  425. if(empty($openid)) {
  426. return response()->error("PARAM_EMPTY");
  427. }
  428. $material_force_subscribe_mapping = ForceSubscribeService::getMaterialForceSubscribeMapping($distribution_channel_id,$openid);
  429. return response()->success($material_force_subscribe_mapping);
  430. }
  431. function uploadCustomerImgUrl(Request $request) {
  432. $distribution_channel_id = $request->has('distribution_channel_id') ? $request->input('distribution_channel_id') : '';
  433. if(empty($distribution_channel_id)) {
  434. return response()->error("PARAM_EMPTY");
  435. }
  436. // dd($request->hasFile('photo'));
  437. if ($request->hasFile('photo')) {
  438. // dd(11);
  439. // $imagePath = $path = $request->photo->store('images');
  440. $file = $request->file('photo');
  441. // array:15 [▼
  442. // "server" => "AliyunOSS"
  443. // "date" => "Fri, 15 Dec 2017 10:03:12 GMT"
  444. // "content-length" => "0"
  445. // "connection" => "keep-alive"
  446. // "x-oss-request-id" => "5A339DDF12058D9711FE3BDE"
  447. // "etag" => ""874C0E0C357FBC3BE12404389D17A742""
  448. // "x-oss-hash-crc64ecma" => "12762020141128995984"
  449. // "content-md5" => "h0wODDV/vDvhJAQ4nRenQg=="
  450. // "x-oss-server-time" => "12"
  451. // "info" => array:27 [▶]
  452. // "oss-request-url" => "http://yueduyun.oss-cn-hangzhou.aliyuncs.com/service/customimage_1_1513332191.WechatIMG77.jpeg"
  453. // "oss-redirects" => 0
  454. // "oss-stringtosign" => """
  455. // PUT\n
  456. // \n
  457. // image/jpeg\n
  458. // Fri, 15 Dec 2017 10:03:11 GMT\n
  459. // /yueduyun/service/customimage_1_1513332191.WechatIMG77.jpeg
  460. // """
  461. // "oss-requestheaders" => array:5 [▶]
  462. // "body" => ""
  463. // ]
  464. $ossImgBackData = $this->ossObject()->uploadFile(env('OSS_BUCKET','yueduyun'), 'service/customimage_'.$distribution_channel_id.'_'.time().'.'.$file->getClientOriginalName(), $file->path());
  465. $ossImg = $ossImgBackData['oss-request-url'];
  466. $customerImgPram['distribution_channel_id'] = $distribution_channel_id;
  467. $customerImgPram['customer_img_url'] = $ossImg;
  468. $sustomMsgService = CustomMsgService::updateCustomerImgUrl($customerImgPram);
  469. return response()->item(new CustomMsgControllerTransformer(), $sustomMsgService);
  470. }
  471. }
  472. function ossObject()
  473. {
  474. $accessKeyId = env('OSS_ACCESS_ID');
  475. $accessKeySecret = env('OSS_ACCESS_KEY');
  476. $endpoint = env('OSS_END_POINT');
  477. $ossClient = null;
  478. try {
  479. $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
  480. } catch (OssException $e) {
  481. return null;
  482. }
  483. return $ossClient;
  484. }
  485. }