You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.3 KiB
91 lines
2.3 KiB
<?php
|
|
/**
|
|
*
|
|
*/
|
|
include_once(SERVER_ROOT."/model/mBase.php");
|
|
|
|
|
|
class mShop extends mBase {
|
|
|
|
private $obj;
|
|
private $shop;
|
|
|
|
public function __construct() {
|
|
$this->obj = new dShop();
|
|
$this->shop = 'shop_list';
|
|
}
|
|
|
|
public function addShop($name, $access_token, $expire_time, $uid=0) {
|
|
$data = array();
|
|
$data['access_token'] = $access_token;
|
|
$data['expire_time'] = $expire_time;
|
|
|
|
$info = $this->getShopByName($name);
|
|
if ($info) {
|
|
$res = $this->updateShop($info['id'], $data);
|
|
|
|
return $info;
|
|
}
|
|
|
|
if ($uid) {
|
|
$data['uid'] = $uid;
|
|
} else {
|
|
$uobj = new mUser();
|
|
$uid = $uobj->addUser();
|
|
var_dump($uid);
|
|
if (!$uid) {
|
|
$this->setError('uid创建失败');
|
|
return false;
|
|
}
|
|
$data['uid'] = $uid;
|
|
}
|
|
$data['name'] = $name;
|
|
|
|
$res = $this->obj->insert($this->shop, $data);
|
|
|
|
$this->syncHistoricalOrders($name);
|
|
|
|
$info = $this->getShopByName($name);
|
|
return $info;
|
|
}
|
|
|
|
/**
|
|
* 同步最近3个月历史订单
|
|
* @param unknown $name
|
|
* @return boolean
|
|
*/
|
|
public function syncHistoricalOrders($name) {
|
|
$rdobj = $this->initRedis();
|
|
|
|
$start_date = date("Y-m-d", strtotime('-3 month'));
|
|
|
|
for($i=0; $i<100; $i++) {
|
|
$date = date("Y-m-d", strtotime($start_date)+$i*86400);
|
|
if ($date > date("Y-m-d H:i:s")) break;
|
|
|
|
// 同步历史订单
|
|
$rdobj->lpush(_RQ_SYNC_HISTORICAL_ORDERS, json_encode(array('name'=>$name, 'start_date'=>$date)));
|
|
|
|
// 同步增量订单开始时间
|
|
if ($date == date("Y-m-d")) {
|
|
$rdobj->lpush(_RQ_SYNC_INCREMENT_ORDERS, json_encode(array('name'=>$name, 'start_date'=>date("Y-m-d H:i:s"))));
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
public function getShopByName($name) {
|
|
return $this->obj->select($this->shop, array('sql'=>'`name`=?', 'vals'=>array($name)));
|
|
}
|
|
|
|
public function getShopById($id) {
|
|
return $this->obj->select($this->shop, array('sql'=>'`id`=?', 'vals'=>array($id)));
|
|
}
|
|
|
|
|
|
public function updateShop($id, $data) {
|
|
return $this->obj->update($this->shop, $data, array('sql'=>'`id`=?', 'vals'=>array($id)));
|
|
}
|
|
|
|
}
|