123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- <?php
- namespace Cas\Dao;
- use KIF\Dao\DBAgileDev;
- use KIF\Verify;
- /**
- *
- * 微信群发任务
- * @author lishumingoo@gmail.com
- */
- class WeixinMessageSend extends DBAgileDev {
- protected $tableName = 'weixin_message_send';
-
- /**
- * 数据库里的真实字段
- * @var array
- */
- protected $other_field = array(
- 'description',
- 'msg_id',
- 'msgType',
- 'status',
- 'send_time',
- );
-
- /**
- * 群发消息类型:文字
- * @var string
- */
- const TYPE_TEXT = 'text';
-
- /**
- * 群发消息类型:图片
- * @var string
- */
- const TYPE_IMG = 'image';
-
- /**
- * 群发消息类型:图文
- * @var string
- */
- const TYPE_TEXT_AND_IMG = 'news';
-
- /**
- * 群发消息类型:语音
- * @var string
- */
- const TYPE_VOICE = 'voice';
-
-
- /**
- * 群发任务状态:等待发送
- * @var int
- */
- const STATUS_WAIT_SEND = 100;
-
- /**
- * 群发任务状态:发送成功
- * @var int
- */
- const STATUS_SEND_SUCCESS = 200;
-
- /**
- * 群发任务状态:发送是吧
- * @var unknown
- */
- const STATUS_SEND_FAIL = 240;
-
- /**
- * 群发任务状态:发送完成
- * @var int
- */
- const STATUS_SEND_DONE = 300;
-
- /**
- * 群发任务状态:取消发送
- * @var int
- */
- const STATUS_CLOSED_SEND = 400;
-
- static private $statusDesc = array(
- self::STATUS_WAIT_SEND => array(
- 'desc' => '等待发送',
- 'kw' => 'STATUS_WAIT_SEND',
- ),
- self::STATUS_SEND_SUCCESS => array(
- 'desc' => '发送成功',
- 'kw' => 'STATUS_SEND_SUCCESS',
- ),
- self::STATUS_SEND_FAIL => array(
- 'desc' => '发送失败',
- 'kw' => 'STATUS_SEND_FAIL',
- ),
- self::STATUS_SEND_DONE => array(
- 'desc' => '发送完成',
- 'kw' => 'STATUS_SEND_DONE',
- ),
- self::STATUS_CLOSED_SEND => array(
- 'desc' => '取消发送',
- 'kw' => 'STATUS_CLOSED_SEND',
- ),
- );
-
- static public function getsStatusDesc() {
- return self::$statusDesc;
- }
-
- /**
- *
- * 置为“等待发送”
- * @param int $id
- * @return boolean
- */
- public function setWaitSend($id) {
- $statusCondition = array(self::STATUS_CLOSED_SEND);
- return $this->updateStatus($id, self::STATUS_WAIT_SEND, $statusCondition);
- }
-
- /**
- *
- * 置为“取消发送”
- * @param int $id
- * @return boolean
- */
- public function setClosedSend($id) {
- $statusCondition = array(self::STATUS_WAIT_SEND);
- return $this->updateStatus($id, self::STATUS_CLOSED_SEND, $statusCondition);
- }
-
- public function updateStatus($id, $status, array $statusCondition = null) {
- if (!Verify::unsignedInt($id)) {
- return false;
- }
-
- if (!in_array($status, array_keys(self::$statusDesc))) {
- return false;
- }
-
- $tableInfo = array(
- 'status' => $status,
- 'update_time' => time(),
- );
-
- $condition = array(
- 'id' => $id,
- );
-
- if (!is_null($statusCondition)) {
- $condition['status'] = $statusCondition;
- }
-
- return $this->update($tableInfo, $condition);
- }
- }
|