123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234 |
- <?php
- defined('InShopNC') or exit('Access Invalid!');
- require_once(BASE_ROOT_PATH . '/helper/algorithm.php');
- require_once(BASE_ROOT_PATH . '/helper/account_helper.php');
- require_once(BASE_ROOT_PATH . '/helper/sms_helper.php');
- class oper_smsControl extends SystemControl
- {
- public function __construct()
- {
- parent::__construct();
- }
- public function indexOp()
- {
- $sms_template = Model('sms_template');
- $template_list = $sms_template->select();
- Tpl::output('template_list', $template_list);
- Tpl::showpage('oper_sms');
- }
- public function sms_addOp()
- {
- $sms_title = trim($_POST['sms_title']);
- $yuntx_id = intval(trim($_POST['yuntx_id']));
- $sms_content = trim($_POST['sms_content']);
- if (empty($sms_title) || $yuntx_id <= 0 || empty($sms_content)) {
- return showMessage("参数错误", 'index.php?act=oper_sms&op=index', '', 'error');
- }
- $sms_template = Model('sms_template');
- $data = array('yuntx_id' => $yuntx_id, 'title' => $sms_title, 'content' => $sms_content);
- $ret = $sms_template->insert($data);
- if ($ret != false) {
- showMessage(Language::get('nc_common_save_succ'), 'index.php?act=oper_sms&op=index');
- } else {
- showMessage("存入数据库失败", 'index.php?act=oper_sms&op=index', '', 'error');
- }
- }
- private function add_params($input, &$err)
- {
- $params = [];
- $params['member']['input_type'] = $input['input_type'];
- if (empty($input['members'])) {
- $err = "手机号码或者SQL语句为空";
- return false;
- } else {
- $params['member']['data'] = $input['members'];
- }
- $params['member']['ex_brand'] = $input['ex_brand'] == 'on' ? true : false;
- $params['member']['ex_lrlz'] = $input['ex_lrlz'] == 'on' ? true : false;
- if($input['operatetype'] == 'sms')
- {
- $tmpid = $input['sms_template'];
- if ($tmpid <= 0) {
- $err = "错误的短信模版";
- return false;
- }
- $params['send']['type'] = 'sms';
- $params['send']['data'] = $tmpid;
- }
- else
- {
- if(empty($input['pushcontet'])) {
- $err = "push 内容不能为空";
- return false;
- } else {
- $params['send']['type'] = 'push';
- $params['send']['data'] = $input['pushcontet'];
- }
- }
- return $params;
- }
- public function send_sms_pushOp()
- {
- if (chksubmit())
- {
- $params = $this->add_params($_POST,$error);
- if($params == false) {
- showMessage($error,'index.php?act=person_bonus&op=add','','error');
- } else {
- QueueClient::push('sendPushOrSMS',$params);
- showMessage("成功放入推送队列", 'index.php?act=oper_sms&op=index');
- }
- }
- else
- {
- $items = Model()->table('sms_template')->where(array('disable' => 0))->field('yuntx_id,title,content')->select();
- Tpl::output('sms_tpls',$items);
- Tpl::showpage('oper_send.smspush');
- }
- }
- public function awaken_userOp()
- {
- if(chksubmit())
- {
- }
- else {
- Tpl::showpage('oper_send.awaken');
- }
- }
- public function bonus_awakenOp()
- {
- $days = intval($_POST['days']);
- $paysn = $_POST['paysn'];
- $amount = floatval($_POST['amount']);
- if(empty($paysn)) {
- showMessage("参数错误,paysn 不能为空",'index.php?act=oper_sms&op=awaken_user','','error');
- }
- else {
- QueueClient::push('onAsyncBroadcastOrder',['pay_sn' => $paysn,'amount' => $amount,'days' => $days]);
- showMessage("成功放入推送队列", 'ndex.php?act=oper_sms&op=awaken_user');
- }
- }
- private function format_member_filter($input)
- {
- $filters = [];
- if(isset($input['offtime']) && intval($input['offtime']) > 0) {
- $filters[] = ['type' => 'offtime', 'days' => intval($input['offtime'])];
- }
- if(isset($input['regtime']) && intval($input['regtime']) > 0) {
- $filters[] = ['type' => 'regtime', 'days' => intval($input['regtime'])];
- }
- if(isset($input['order_numgt']) && intval($input['order_numgt']) > 0) {
- $filters[] = ['type' => 'order_numgt', 'count' => intval($input['order_numgt'])];
- }
- if(isset($input['order_days']) && intval($input['order_days']) > 0) {
- $filters[] = ['type' => 'order_days', 'days' => intval($input['order_days'])];
- }
- if(isset($input['bonus_rate']) && floatval($input['bonus_rate']) > 0) {
- $filters[] = ['type' => 'bonus_rate', 'rate' => floatval($input['bonus_rate'])];
- }
- if(isset($input['bonus_amount']) && intval($input['bonus_amount']) > 0) {
- $filters[] = ['type' => 'bonus', 'amount' => intval($input['bonus_amount'])];
- }
- if(isset($input['gift']) && !empty($input['gift'])) {
- $filters[] = ['type' => 'gift', 'value' => boolval($input['gift'])];
- }
- if(isset($input['invitor']) && !empty($input['invitor'])) {
- $filters[] = ['type' => 'invitor', 'value' => boolval($input['invitor'])];
- }
- return $filters;
- }
- private function format_sms_filter($input)
- {
- $filters = [];
- if(isset($input['sms_offtime']) && intval($input['sms_offtime']) > 0) {
- $filters[] = ['type' => 'offtime', 'days' => intval($input['sms_offtime'])];
- }
- if(isset($input['sms_regtime']) && intval($input['sms_regtime']) > 0) {
- $filters[] = ['type' => 'regtime', 'days' => intval($input['sms_regtime'])];
- }
- return $filters;
- }
- public function brand_awakenOp()
- {
- $amount = intval($_POST['bonus_num']);
- $brand = trim($_POST['brand']);
- $openurl = trim($_POST['openurl']);
- //if(empty($amount) ||empty($brand) || empty($openurl) || empty($et_amount)) {
- if(empty($amount) ||empty($brand) || empty($openurl)) {
- showMessage("参数错误,红包金额或宣传品牌或传送地址 不能为空",'index.php?act=oper_sms&op=awaken_user','','error');
- }
- else
- {
- $filters = [
- 'member_filters' => [],
- 'sms_filters' => []
- ];
- $send_params =['type' => Sms::tpl_new_goods,
- 'sms_params' => ['day' => '周一','amount' => $amount,'brand' => $brand,'url' => $openurl],
- 'push_params' => []];
- $member_filters = $this->format_member_filter($_POST);
- if(count($member_filters)){
- $filters['member_filters'] = $member_filters;
- }
- $sms_filters = $this->format_sms_filter($_POST);
- if(count($sms_filters)){
- $filters['sms_filters'] = $sms_filters;
- }
- $oper_param = ['type' => 'bonus','rate' => 30,'amount' => 50];
- if(isset($_POST['bonus_amount']) && intval($_POST['bonus_amount']) > 0)
- {
- $oper_param = ['type' => 'bonus','rate' => 30,'amount' => intval($_POST['bonus_amount'])];
- }
- QueueClient::push('onAsyncBroadcastNormal',['filters' => $filters,'oper_param' => $oper_param,'send_params' => $send_params]);
- showMessage("成功放入推送队列", 'index.php?act=oper_sms&op=awaken_user');
- }
- }
- public function view_usersOp()
- {
- $filter_params = $this->format_member_filter($_POST);
- if(!empty($filter_params))
- {
- $filters = async\filter::create($filter_params);
- $broadcast = new async\broadcast($filters);
- $match_users = $broadcast->count();
- if($match_users > 0){
- showMessage("有 ". $match_users. " 个用户符合筛选条件", '','json','succ');
- }
- else {
- showMessage("没有用户符合筛选条件", '','json','error');
- }
- }
- else
- {
- showMessage("请设置筛选条件", '','json','error');
- }
- }
- }
|