Assms.php 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. use app\common\library\Sms as Smslib;
  5. use app\common\model\User;
  6. use think\Db;
  7. use think\Exception;
  8. use think\exception\PDOException;
  9. use think\helper\hash\Md5;
  10. use think\Hook;
  11. /**
  12. * 手机短信接口
  13. */
  14. class Assms extends Api
  15. {
  16. protected $noNeedLogin = '*';
  17. protected $noNeedRight = '*';
  18. public function addSmsLog(){
  19. $post=$this->request->post();
  20. $sign =$post['sign'];
  21. if($sign!=Md5('longyi_as')){
  22. $this->error('sign error');
  23. }
  24. $this->addSmsQuote($post);
  25. $this->success(__('success'));
  26. }
  27. public function addSmsQuote($quote)
  28. {
  29. $quote_id= $quote['quote_id'];
  30. $name = $quote['name'];
  31. $mobile =$quote['mobile'];
  32. $email =$quote['email'];
  33. $countryCode = $quote['countryCode'];
  34. $countryMobile =911;
  35. if(!$mobile){
  36. return ;
  37. }
  38. if($countryCode){
  39. $countryMobile = getCountryMobile($countryCode);
  40. }
  41. if($mobile){
  42. $datas =checkMobile($countryMobile,$mobile,$countryCode);
  43. $mobiles=$datas['mobile'];
  44. //删除手机号、购物车ID相同待发送短信信息
  45. $where['mobile']=$mobiles;
  46. $where['status']=1;
  47. Db::name('sms_log')->where($where)->delete();
  48. unset($where);
  49. $where['status']=1;
  50. $template= Db::name('sms_template')->where($where)->select();
  51. $data=array();
  52. //循环添加发送短信
  53. foreach ($template as $k=> $v){
  54. $template_id = $v['template_id'];
  55. $data[$k]['email'] =$email;
  56. $data[$k]['ymobile'] =$mobile;
  57. $data[$k]['quote_id']=$quote_id;
  58. $data[$k]['template_id']=$template_id;
  59. $data[$k]['status']=$datas['status'];
  60. $data[$k]['mobile']=$datas['mobile'];
  61. $data[$k]['addtime']=time();
  62. $data[$k]['uptime']=time()+$v['sendtime'];
  63. $data[$k]['remarks']=$countryMobile;
  64. $data[$k]['template_body']= $this->getMssage($v['template_body'],$name);
  65. $data[$k]['template_name']= $v['name'];
  66. }
  67. try {
  68. Db::name('sms_log')->insertAll($data);
  69. }catch (\PDOException $e){
  70. $e->getMessage();
  71. } catch (\Exception $e) {
  72. var_dump($e->getMessage());
  73. }
  74. }
  75. }
  76. public function getMssage($template_body,$name){
  77. $search = '{#NAME}';
  78. $message=str_replace($search,$name,$template_body);
  79. return $message;
  80. }
  81. }