[日常] 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基于binlake同步ES积压解决方案
- 京东云开发者|深入JDK中的Optional
- 京东云开发者|软件架构可视化及C4模型:架构设计不仅仅是UML
- 京东云开发者|提高IT运维效率,深度解读京东云AIOps落地实践
- 京东云开发者|经典同态加密算法Paillier解读 - 原理、实现和应用
- 京东云开发者|IoT运维 - 如何部署一套高可用K8S集群
- 文盘Rust -- 把程序作为守护进程启动
- 京东云开发者|关于“React 和 Vue 该用哪个”我真的栓Q
- 京东云开发者|ElasticSearch降本增效常见的方法
- 京东云开发者|京东云RDS数据迁移常见场景攻略
- 京东云开发者|探寻软件架构的本质,到底什么是架构?
- 京东云开发者| Redis数据结构(二)-List、Hash、Set及Sorted Set的结构实现
- 个人和初创企业想要搭建网站,如何挑选一台便宜合适的云主机?
- Redis数据结构(一)-Redis的数据存储及String类型的实现
- 有奖测评 | 今天种下{1},明天就会收获一片{11.11}——程序员日暨11.11狂欢季来啦
- 一种基于柔性事务的分布式事务解决方案设计探究
- 京东云TiDB SQL优化的最佳实践
- 推荐有礼 | 京东云推荐返利活动说明