xxxrrrdddd 3 years ago
parent
commit
7ad057229f

+ 1 - 0
addons/aliyunsms/Aliyunsms.php

@@ -64,6 +64,7 @@ class Aliyunsms extends Addons
         $smsbao = new library\Aliyunsms();
         return $smsbao->mobile($params['mobile'])
             ->tempCode($params['temp'])
+            ->code($params['code'])
             ->bind($params['params'])->send();
     }
 

+ 66 - 6
addons/aliyunsms/config.php

@@ -50,14 +50,74 @@ return [
         'extend' => '',
     ],
     [
-        'name' => 'templateCode',
-        'title' => 'templateCode',
-        'type' => 'text',
+        'name' => 'temp_common',
+        'title' => '普通短信模版',
+        'type' => 'string',
         'content' => [],
-        'value' => 'SMS_236561776,SMS_229635786,SMS_229635697,SMS_229645602,SMS_229640538,SMS_229635554,SMS_229640003',
-        'rule' => 'required',
+        'value' => 'SMS_229335244',
+        'rule' => '',
+        'msg' => '',
+        'tip' => '普通短信模版',
+        'ok' => '',
+        'extend' => '',
+    ],
+    [
+        'name' => 'temp_send_order',
+        'title' => '发货通知模版',
+        'type' => 'string',
+        'content' => [],
+        'value' => 'SMS_229635786',
+        'rule' => '',
+        'msg' => '',
+        'tip' => '发货通知模版',
+        'ok' => '',
+        'extend' => '',
+    ],
+    [
+        'name' => 'temp_submit_order',
+        'title' => '下单短信通知模板',
+        'type' => 'string',
+        'content' => [],
+        'value' => 'SMS_229635554',
+        'rule' => '',
+        'msg' => '',
+        'tip' => '下单短信通知模板',
+        'ok' => '',
+        'extend' => '',
+    ],
+    [
+        'name' => 'temp_payed_order',
+        'title' => '订购通知模板',
+        'type' => 'string',
+        'content' => [],
+        'value' => 'SMS_229640538',
+        'rule' => '',
+        'msg' => '',
+        'tip' => '订购通知模板',
+        'ok' => '',
+        'extend' => '',
+    ],
+    [
+        'name' => 'temp_refund_order',
+        'title' => '订单退款通知模板',
+        'type' => 'string',
+        'content' => [],
+        'value' => 'SMS_229635697',
+        'rule' => '',
+        'msg' => '',
+        'tip' => '订单退款通知模板',
+        'ok' => '',
+        'extend' => '',
+    ],
+    [
+        'name' => 'temp_down',
+        'title' => '下架通知模板',
+        'type' => 'string',
+        'content' => [],
+        'value' => 'SMS_236561776',
+        'rule' => '',
         'msg' => '',
-        'tip' => 'templateCode',
+        'tip' => '下架通知模板',
         'ok' => '',
         'extend' => '',
     ],

+ 7 - 2
addons/aliyunsms/library/Aliyunsms.php

@@ -23,6 +23,7 @@ class Aliyunsms
     );
     protected $bindParams=[];
     protected $tempCode;
+    protected $code;
 
 
     /**
@@ -68,7 +69,7 @@ class Aliyunsms
 
 
         $params_post = [
-            'code' => $params['msg']
+            'code' => $this->code,
         ];
         $params_post=array_merge($params_post,$this->bindParams);
 
@@ -85,7 +86,7 @@ class Aliyunsms
                     'RegionId' => $this->config['regionId'],
                     'PhoneNumbers' => $this->_params['mobile'],
                     'SignName' => $this->config['signName'],
-                    'TemplateCode' => $this->tempCode,
+                    'TemplateCode' => $this->config[$this->tempCode]??'',
                     'TemplateParam' => json_encode($params_post),
                 ],
             ])
@@ -141,6 +142,10 @@ class Aliyunsms
         $this->bindParams = $params;
         return $this;
     }
+    public function code($code){
+        $this->code = $code;
+        return $this;
+    }
     public function tempCode($tmpCode){
         $this->tempCode = $tmpCode;
         return $this;

+ 2 - 1
application/admin/controller/MobileOrder.php

@@ -6,6 +6,7 @@ use app\admin\model\MobileOrderAdmin;
 use app\common\controller\Backend;
 use app\common\model\MobileOrderOperation;
 use app\common\service\Refund;
+use app\common\service\SmsSend;
 use think\Db;
 
 /**
@@ -129,7 +130,7 @@ class MobileOrder extends Backend
             Refund::setType($model)->refund();
             $model['status']=\app\common\model\MobileOrder::STATUS_REFUNDED;
             $model->save();
-
+            SmsSend::orderRefund($model['phone']);
             Db::commit();
             $this->success();
         }

+ 8 - 5
application/common/library/Sms.php

@@ -42,17 +42,20 @@ class Sms
     /**
      * 发送验证码
      *
-     * @param   int    $mobile 手机号
-     * @param   int    $code   验证码,为空时将自动生成4位数字
-     * @param   string $event  事件
+     * @param int $mobile 手机号
+     * @param null $code 验证码,为空时将自动生成4位数字
+     * @param string $event 事件
+     * @param string $temp
+     * @param array $params
      * @return  boolean
      */
-    public static function send($mobile, $code = null, $event = 'default')
+    public static function send($mobile, $code = null, $event = 'default',$temp='temp_common',$params=[])
     {
         $code = is_null($code) ? mt_rand(1000, 9999) : $code;
         $time = time();
         $ip = request()->ip();
-        $sms = \app\common\model\Sms::create(['event' => $event, 'mobile' => $mobile, 'code' => $code, 'ip' => $ip, 'createtime' => $time]);
+        $sms = \app\common\model\Sms::create(['event' => $event, 'mobile' => $mobile, 'code' => $code, 'ip' => $ip, 'createtime' => $time,'temp'=>$temp,'params'=>$params]);
+
         $result = Hook::listen('sms_send', $sms, null, true);
         if (!$result) {
             $sms->delete();

+ 11 - 0
application/common/model/MobileOrder.php

@@ -4,6 +4,7 @@ namespace app\common\model;
 
 use app\admin\model\Admin;
 use app\admin\model\MobileOrderAdmin;
+use app\common\service\SmsSend;
 use think\db\Query;
 use think\Model;
 
@@ -110,6 +111,11 @@ class MobileOrder extends Model
                 'mobile'=>$mobileOrder['mobile'],
                 'info'=>$mobileOrder['mobile']['info'],
             ]);
+
+            #下单短信通知
+            if($mobileOrder['type']==1){
+                SmsSend::orderSubmit($mobileOrder['phone']);
+            }
         });
 
         self::beforeUpdate(function (self $mobileOrder){
@@ -125,6 +131,11 @@ class MobileOrder extends Model
                     'status'=>$mobileOrder->origin['status'],
                 ]);
             }
+
+            #发货短信通知
+            if(isset($data['status']) && $data['status']==20){
+                SmsSend::orderSend($mobileOrder['phone'],$mobileOrder['trans_name'],$mobileOrder['trans_no']);
+            }
         });
     }
 

+ 3 - 1
application/common/model/Sms.php

@@ -18,5 +18,7 @@ class Sms Extends Model
     // 追加属性
     protected $append = [
     ];
-
+    protected $type=[
+        'params'=>'json',
+    ];
 }

+ 25 - 0
application/common/service/SmsSend.php

@@ -46,4 +46,29 @@ class SmsSend{
             throw_user('验证码错误');
         }
     }
+
+    public static function orderSend($mobile,$transName,$transNo){
+        return Sms::send($mobile,null,'temp_send_order','temp_send_order',[
+            'expresscorp'=>$transName,
+            'expressno'=>$transNo
+        ]);
+    }
+    public static function orderSubmit($mobile){
+        return Sms::send($mobile,null,'temp_submit_order','temp_submit_order');
+    }
+    public static function orderPayed($mobile){
+        return Sms::send($mobile,null,'temp_payed_order','temp_payed_order',[
+
+        ]);
+    }
+    public static function orderRefund($mobile){
+        return Sms::send($mobile,null,'temp_refund_order','temp_refund_order',[
+
+        ]);
+    }
+    public static function mobileDown($mobile){
+        return Sms::send($mobile,null,'temp_down','temp_down',[
+
+        ]);
+    }
 }

+ 2 - 0
application/index/controller/Payment.php

@@ -5,6 +5,7 @@ namespace app\index\controller;
 use addons\epay\library\Service;
 use app\common\controller\Frontend;
 use app\common\model\MobileOrder;
+use app\common\service\SmsSend;
 use think\Db;
 
 /**
@@ -75,6 +76,7 @@ class Payment extends Frontend
             Db::rollback();
             return '手机订单保存失败';
         }
+        SmsSend::orderPayed($mobileOrder['phone']);
         Db::commit();
 
         //你可以在这里你的业务处理逻辑,比如处理你的订单状态、给会员加余额等等功能

+ 0 - 4
阿里云网站支付接口.txt

@@ -61,10 +61,6 @@ Pot8LoSmQ7fC5ijX2oxMyXlLYsXwDF
 您好,您已订购成功,我们在48小时内发货,请注意查收。客服热线:18555555550
 标签:申请说明下单短信通知http://mmlh8.com创建时间2021-12-0816:20:13
 
-短信通知模板名称发货通知模板CODESMS_229640003模板内容
-${name}先生您好,您在平台订购的商品已经成功发货,快递:${expresscorp},单号:${expressno},感谢您选择我们,祝您生活愉快!客服热线:18555555550
-标签:申请说明发货通知http://mmlh8.com/创建时间2021-12-0718:41:32
-
 验证码模板CODESMS_229335244模板内容
 您的验证码${code},该验证码5分钟内有效,请勿泄漏于他人!
 标签:申请说明验证码创建时间2021-12-0713:12:07