• [日常] 20号日常工作总结


    批量删除群发列表
    批量删除邮箱地址
    (传递以逗号分隔的字符串如 21,22 或者传递一维数组如 id[]=21&id[]=22)
    (使用array_keys和array_values直接转二维数组成一维数组)
    (批量删除sql语句使用in实现,delete from mass_list_detail{tid} where user_email_id=:user_email_id and mass_id in(%s))
    (做纯数字检测,使用了ctype_digit函数)

    导入文件增加邮箱地址
    使用文本域增加邮箱地址
    (代码基本一样,使用同一个接口地址,增加一个type的参数进行区分判断)

    获取群发列表接口
    (每个群发列表中邮箱成员个数的计算,使用一条sql语句实现
    select count(mass_id) as n,mass_id from mass_list_detail4 where user_email_id=:user_email_id group by mass_id
    )

    获取邮箱地址列表接口
    (注意到了联合索引的最左前缀原则 key(user_email_id,mass_id)
    select * from mass_list_detail{tid} where user_email_id=:user_email_id and mass_id=:mass_id
    )

    发信接口:
    from(发件人)
    to(群发列表id)
    subject(邮件主题)
    msgtxt(邮件正文)
    is_save(是否保存)
    att_swf(附件信息)

    拼接好邮件eml文件后,保存到/mnt/entmail/目录位置
    添加进队列 "from|to|邮件文件地址"
    定时任务取出队列内容,拿到邮件文件,替换收件人,调用smtp发送

    新建群发列表,导入邮箱地址:
    1.新建时直接导入文件
    2.单用户每人限制50个群发列表
    3.每个列表中的邮箱地址限制1000个
    4.列表中邮箱去掉格式不正确的和重复的
    5.判断列表名称不能为空
    6.判断导入文件的大小不能太大,不能为空
    7.返回成功,失败,总共的条数

    对已存在的列表进行再次导入邮箱地址:
    1.要求同上
    2.判断列表是否存在
    3.已存在邮箱地址加上新导入地址不得超过1000

    获取邮箱地址列表接口:
    1.全部取出
    2.保留分页功能

    删除群发列表接口
    删除邮箱地址接口

    建表申请:
    CREATE TABLE `deluserlog` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `enterpriseId` int(10) unsigned NOT NULL DEFAULT '0',
    `emailid` int(10) unsigned NOT NULL DEFAULT '0',
    `email` char(50) NOT NULL DEFAULT '',
    `status` int(10) unsigned NOT NULL DEFAULT '0',
    `time` int(10) unsigned NOT NULL DEFAULT '0',
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8

    获取邮箱地址列表的分页部分主要代码:
    $this->sum=empty($this->sum) ? 0:$this->sum;
    $this->pagenum=ceil($this->sum/$this->pagesize);
    $this->pageno=empty($req->pageno)? 1 : $req->pageno;
    $start=($pageno-1)*$pagesize;
    $end=$pagesize;
    $preSql="select * from mass_list_detail{tid} where user_email_id=:user_email_id and mass_id=:mass_id order by id desc limit {$start},{$end}";
    $preSql=$this->makeSql($preSql);

  • 相关阅读:
    mysql触发器
    mysql存储过程
    怎样理解阻塞非阻塞与同步异步的区别?
    常用的排序算法的时间复杂度和空间复杂度
    Struts+Hibernate+Spring面试题合集及答案
    springMVC面试题
    Mybatis面试题合集及答案
    Java基础面试题集(二)
    Java基础面试题集(一)
    Spring----EJB
  • 原文地址:https://www.cnblogs.com/taoshihan/p/8610950.html
Copyright © 2020-2023  润新知