正在显示
5 个修改的文件
包含
70 行增加
和
5 行删除
@@ -90,7 +90,11 @@ function start(){ | @@ -90,7 +90,11 @@ function start(){ | ||
90 | }else{ | 90 | }else{ |
91 | $result = \Lib\Mail\MailFun::sendEmail($data['maildata'],$email); | 91 | $result = \Lib\Mail\MailFun::sendEmail($data['maildata'],$email); |
92 | // 更新状态 | 92 | // 更新状态 |
93 | - \Model\sendJobsSql::upStatus($data['id'],2,db()); | 93 | + db()->update(\Model\sendJobsSql::$table,[ |
94 | + 'status' => 2, | ||
95 | + 'success' => $result[0] ? $data['total'] : 0, | ||
96 | + 'error' => $result[0] ? 0 : $data['total'], | ||
97 | + ],dbWhere(['id'=>$data['id']])); | ||
94 | // 插入紫薯精 | 98 | // 插入紫薯精 |
95 | db()->insert(\Model\sendJobStatusSql::$table,[ | 99 | db()->insert(\Model\sendJobStatusSql::$table,[ |
96 | 'job_id' => $data['id'], | 100 | 'job_id' => $data['id'], |
@@ -105,10 +109,15 @@ function start(){ | @@ -105,10 +109,15 @@ function start(){ | ||
105 | $cNum--; | 109 | $cNum--; |
106 | // 验证是否完成 | 110 | // 验证是否完成 |
107 | if($data['maildata']['massSuit']??0){ | 111 | if($data['maildata']['massSuit']??0){ |
108 | - $total = db()->count(\Model\sendJobStatusSql::count($data['id'])); | ||
109 | - | 112 | + $total = db()->first(\Model\sendJobStatusSql::countSum($data['id'])); |
113 | + if($total){ | ||
110 | // 更新状态 | 114 | // 更新状态 |
111 | - \Model\sendJobsSql::upStatus($data['id'],$total == $data['total'] ? 2 : 0,db()); | 115 | + db()->update(\Model\sendJobsSql::$table,[ |
116 | + 'status' => $total['t'] == $data['total'] ? 2 : 0, | ||
117 | + 'success' => $total['s'], | ||
118 | + 'error' => $total['e'], | ||
119 | + ],dbWhere(['id'=>$data['id']])); | ||
120 | + } | ||
112 | 121 | ||
113 | } | 122 | } |
114 | 123 |
@@ -41,6 +41,45 @@ class Job extends Base { | @@ -41,6 +41,45 @@ class Job extends Base { | ||
41 | } | 41 | } |
42 | 42 | ||
43 | 43 | ||
44 | + public function stop(){ | ||
45 | + $id = app()->request('id',0,'intval'); | ||
46 | + | ||
47 | + $ret = db()->update(sendJobsSql::$table,[ | ||
48 | + 'status' => 3 | ||
49 | + ],dbWhere([ | ||
50 | + 'id' => $id, | ||
51 | + 'email_id' => $this->getEmails('id') | ||
52 | + ])); | ||
53 | + | ||
54 | + if($ret){ | ||
55 | + return ['status'=>200]; | ||
56 | + } | ||
57 | + | ||
58 | + app()->e('send_job_stop_error'); | ||
59 | + } | ||
60 | + | ||
61 | + /** | ||
62 | + * @throws \Lib\Err | ||
63 | + * @author:dc | ||
64 | + * @time 2023/4/17 17:03 | ||
65 | + */ | ||
66 | + public function start(){ | ||
67 | + $id = app()->request('id',0,'intval'); | ||
68 | + | ||
69 | + $ret = db()->update(sendJobsSql::$table,[ | ||
70 | + 'status' => 0 | ||
71 | + ],dbWhere([ | ||
72 | + 'id' => $id, | ||
73 | + 'email_id' => $this->getEmails('id') | ||
74 | + ])); | ||
75 | + | ||
76 | + if($ret){ | ||
77 | + return ['status'=>200]; | ||
78 | + } | ||
79 | + | ||
80 | + app()->e('send_job_start_error'); | ||
81 | + | ||
82 | + } | ||
44 | 83 | ||
45 | 84 | ||
46 | 85 |
@@ -31,5 +31,17 @@ class sendJobStatusSql { | @@ -31,5 +31,17 @@ class sendJobStatusSql { | ||
31 | } | 31 | } |
32 | 32 | ||
33 | 33 | ||
34 | + /** | ||
35 | + * @param int $job_id | ||
36 | + * @return string | ||
37 | + * @author:dc | ||
38 | + * @time 2023/4/17 17:25 | ||
39 | + */ | ||
40 | + public static function countSum(int $job_id){ | ||
41 | + $sucees = "(select count(*) from `".self::$table."` where `job_id` = {$job_id} and `status` = 1) as s"; | ||
42 | + $error = "(select count(*) from `".self::$table."` where `job_id` = {$job_id} and `status` = 0) as e"; | ||
43 | + return "select count(*) as t,{$sucees},{$error} from `".self::$table."` where `job_id` = {$job_id} "; | ||
44 | + } | ||
45 | + | ||
34 | 46 | ||
35 | } | 47 | } |
@@ -37,6 +37,10 @@ return [ | @@ -37,6 +37,10 @@ return [ | ||
37 | 37 | ||
38 | // 发送任务 | 38 | // 发送任务 |
39 | 'job' => [\Controller\Job::class, 'index'], | 39 | 'job' => [\Controller\Job::class, 'index'], |
40 | + // 暂停任务 | ||
41 | + 'job/stop' => [\Controller\Job::class, 'stop'], | ||
42 | + // 开始任务 | ||
43 | + 'job/start' => [\Controller\Job::class, 'start'], | ||
40 | 44 | ||
41 | 45 | ||
42 | 46 |
-
请 注册 或 登录 后发表评论