Browse Source

Merge pull request 'config' (#11) from 20220811_config into master

Reviewed-on: #11
pull/14/head
超级管理员 3 years ago
parent
commit
cdcb703fb0
  1. 2
      config/boot.inc.php
  2. 4
      config/database.ini
  3. 2
      control/callback.php
  4. 1
      data/dOrder.php
  5. 1
      data/dShop.php
  6. 370
      httpd.template.txt
  7. 67
      library/pinduoduo/pdd_api.php
  8. 5
      model/mOrder.php
  9. 40
      model/mPdd.php
  10. 3
      model/mShop.php
  11. 2
      queue/base/cronBase.php

2
config/boot.inc.php

@ -1,7 +1,7 @@
<?php
define("SERVER_ROOT", dirname(dirname(__FILE__)).'/');
define('DATACENTER_ROOT', '/datacenter');
define('DATACENTER_ROOT', '/var/www/html/datacenter');
require_once(SERVER_ROOT."/config/define.php");

4
config/database.ini

@ -10,7 +10,7 @@ passwd_r = "kuaileorder@R"
db = "kuaileorder"
[redis]
host = "r-bp1f50poqod3evevq6.redis.rds.aliyuncs.com"
host = "saas-d90dad49(VIP: 100.65.10.41)"
port = "6379"
db = 13
db = 0

2
control/callback.php

@ -24,7 +24,7 @@ class callback extends publicBase {
$uid = $_SESSION['app_uid'] ? $_SESSION['app_uid'] : 0;
$sobj = new mShop();
$shopinfo = $sobj->addShop($name, $access_token, $expire_time, $uid);
$shopinfo = $sobj->addShop($name, $access_token, $info['owner_id'], $expire_time, $uid);
$_SESSION['app_uid'] = $shopinfo['uid'];
$_SESSION['app_name'] = $shopinfo['name'];

1
data/dOrder.php

@ -23,6 +23,7 @@ class dOrder extends dBase {
'urge_shipping_time',
'last_ship_time',
'buyer_memo',
'risk_control_status'
),
);

1
data/dShop.php

@ -10,6 +10,7 @@ class dShop extends dBase {
'id',
'name',
'access_token',
'owner_id',
'expire_time',
'uid'
),

370
httpd.template.txt

@ -0,0 +1,370 @@
#
# This is the main Apache HTTP server configuration file. It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/2.4/> for detailed information.
# In particular, see
# <URL:http://httpd.apache.org/docs/2.4/mod/directives.html>
# for a discussion of each configuration directive.
#
# Do NOT simply read the instructions in here without understanding
# what they do. They're here only as hints or reminders. If you are unsure
# consult the online docs. You have been warned.
#
# Configuration and logfile names: If the filenames you specify for many
# of the server's control files begin with "/" (or "drive:/" for Win32), the
# server will use that explicit path. If the filenames do *not* begin
# with "/", the value of ServerRoot is prepended -- so 'log/access_log'
# with ServerRoot set to '/www' will be interpreted by the
# server as '/www/log/access_log', where as '/log/access_log' will be
# interpreted as '/log/access_log'.
#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# Do not add a slash at the end of the directory path. If you point
# ServerRoot at a non-local disk, be sure to specify a local disk on the
# Mutex directive, if file-based mutexes are used. If you wish to share the
# same ServerRoot for multiple httpd daemons, you will need to change at
# least PidFile.
#
# ServerRoot "/etc/httpd"
#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen ${SERVER_PORT}
#
# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#
Include conf.modules.d/*.conf
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User apache
Group apache
# 'Main' server configuration
#
# The directives in this section set up the values used by the 'main'
# server, which responds to any requests that aren't handled by a
# <VirtualHost> definition. These values also provide defaults for
# any <VirtualHost> containers you may define later in the file.
#
# All of these directives may appear inside <VirtualHost> containers,
# in which case these default settings will be overridden for the
# virtual host being defined.
#
#
# ServerAdmin: Your address, where problems with the server should be
# e-mailed. This address appears on some server-generated pages, such
# as error documents. e.g. admin@your-domain.com
#
ServerAdmin root@localhost
#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
#ServerName www.example.com:80
#
# Deny access to the entirety of your server's filesystem. You must
# explicitly permit access to web content directories in other
# <Directory> blocks below.
#
<Directory />
AllowOverride none
Require all denied
</Directory>
#
# Note that from this point forward you must specifically allow
# particular features to be enabled - so if something's not working as
# you might expect, make sure that you have specifically enabled it
# below.
#
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/var/www/html"
#
# Relax access to content within /var/www.
#
<Directory "/var/www">
AllowOverride None
# Allow open access:
Require all granted
</Directory>
# Further relax access to the default document root:
<Directory "/var/www/html">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Require all granted
</Directory>
#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<Files ".ht*">
Require all denied
</Files>
#
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here. If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
#
ErrorLog "/dev/stderr"
#
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn
<IfModule log_config_module>
#
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
#
LogFormat "%t %h %l %u \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%t %h %l %u \"%r\" %>s %b" common
<IfModule logio_module>
# You need to enable mod_logio.c to use %I and %O
LogFormat "%t %h %l %u \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
#
# The location and format of the access logfile (Common Logfile Format).
# If you do not define any access logfiles within a <VirtualHost>
# container, they will be logged here. Contrariwise, if you *do*
# define per-<VirtualHost> access logfiles, transactions will be
# logged therein and *not* in this file.
#
#CustomLog "logs/access_log" common
#
# If you prefer a logfile with access, agent, and referer information
# (Combined Logfile Format) you can use the following directive.
#
CustomLog "/dev/stdout" combined
</IfModule>
<IfModule alias_module>
#
# Redirect: Allows you to tell clients about documents that used to
# exist in your server's namespace, but do not anymore. The client
# will make a new request for the document at its new location.
# Example:
# Redirect permanent /foo http://www.example.com/bar
#
# Alias: Maps web paths into filesystem paths and is used to
# access content that does not live under the DocumentRoot.
# Example:
# Alias /webpath /full/filesystem/path
#
# If you include a trailing / on /webpath then the server will
# require it to be present in the URL. You will also likely
# need to provide a <Directory> section to allow access to
# the filesystem path.
#
# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the target directory are treated as applications and
# run by the server when requested rather than as documents sent to the
# client. The same rules about trailing "/" apply to ScriptAlias
# directives as to Alias.
#
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
</IfModule>
#
# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/var/www/cgi-bin">
AllowOverride None
Options None
Require all granted
</Directory>
<IfModule mime_module>
#
# TypesConfig points to the file containing the list of mappings from
# filename extension to MIME-type.
#
TypesConfig /etc/mime.types
#
# AddType allows you to add to or override the MIME configuration
# file specified in TypesConfig for specific file types.
#
#AddType application/x-gzip .tgz
#
# AddEncoding allows you to have certain browsers uncompress
# information on the fly. Note: Not all browsers support this.
#
#AddEncoding x-compress .Z
#AddEncoding x-gzip .gz .tgz
#
# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
#
# AddHandler allows you to map certain file extensions to "handlers":
# actions unrelated to filetype. These can be either built into the server
# or added with the Action directive (see below)
#
# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add "ExecCGI" to the "Options" directive.)
#
#AddHandler cgi-script .cgi
# For type maps (negotiated resources):
#AddHandler type-map var
#
# Filters allow you to process content before it is sent to the client.
#
# To parse .shtml files for server-side includes (SSI):
# (You will also need to add "Includes" to the "Options" directive.)
#
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</IfModule>
#
# Specify a default charset for all content served; this enables
# interpretation of all content as UTF-8 by default. To use the
# default browser choice (ISO-8859-1), or to allow the META tags
# in HTML content to override this choice, comment out this
# directive:
#
AddDefaultCharset UTF-8
<IfModule mime_magic_module>
#
# The mod_mime_magic module allows the server to use various hints from the
# contents of the file itself to determine its type. The MIMEMagicFile
# directive tells the module where the hint definitions are located.
#
MIMEMagicFile conf/magic
</IfModule>
#
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#
#
# EnableMMAP and EnableSendfile: On systems that support it,
# memory-mapping or the sendfile syscall may be used to deliver
# files. This usually improves server performance, but must
# be turned off when serving from networked-mounted
# filesystems or if support for these functions is otherwise
# broken on your system.
# Defaults if commented: EnableMMAP On, EnableSendfile Off
#
#EnableMMAP off
EnableSendfile on
# Supplemental configuration
#
# Load config files in the "/etc/httpd/conf.d" directory, if any.
IncludeOptional conf.d/*.conf
# 11782 端口号填写为slb或容器(slb端口号=容器端口号)的端口号
<VirtualHost *:11782>
ServerName kuaileorder.gavinlau.cn
DocumentRoot /var/www/html
ErrorLog /var/log/httpd/kuaileorder-error_log
CustomLog /var/log/httpd/kuaileorder-access_log combined
RewriteEngine on
RewriteRule ^/images/(.*)$ /view/images/$1 [L]
RewriteRule ^/css/(.*)$ /view/css/$1 [L]
RewriteRule ^/js/(.*)$ /view/js/$1 [L]
RewriteRule ^/font/(.*)$ /view/font/$1 [L]
RewriteRule ^(.*)$ /index.php?argv=$1 [L]
</VirtualHost>

67
library/pinduoduo/pdd_api.php

@ -228,6 +228,73 @@ class PDD {
}
/**
* 获取开通订单同步服务的用户
* https://open.pinduoduo.com/application/document/api?id=pdd.ddy.pdp.users.get
*
* @param string $owner_id 如果传了owner_id,表示单条查询
* @param string $start_modified 查询最后更改时间在某个时间段内的用户
* @param string $end_modified 查询最后更改时间在某个时间段内的用户
* @param number $page_no 当前页数
* @param number $page_size 每页记录数,默认200,最大200
* @return boolean|mixed
*
* { ["ddy_pdp_users_get_response"]=> array(3) { ["request_id"]=> string(17) "16601863037551775" ["users"]=> array(0) { } ["total_results"]=> int(0) } }
*/
public function getDdyPdpUsers($owner_id='', $start_modified='', $end_modified='', $page_no=1, $page_size=200) {
$params = $this->getPublicParams();
$params['type'] = 'pdd.ddy.pdp.users.get';
if ($owner_id) $params['owner_id'] = $owner_id;
if ($start_modified) $params['start_modified'] = $start_modified;
if ($end_modified) $params['end_modified'] = $end_modified;
if ($page_no) $params['page_no'] = $page_no;
if ($page_size) $params['page_size'] = $page_size;
$params['sign'] = $this->getSignature($params);
return $this->postRequest(json_encode($params));
}
/**
* 添加数据推送用户
* https://open.pinduoduo.com/application/document/api?id=pdd.ddy.pdp.user.add
*
* @param unknown $rds_id
* @param unknown $history_days
*/
public function addDdyPdpUser($rds_id, $history_days=-1) {
$params['type'] = 'pdd.ddy.pdp.user.add';
$params['rds_id'] = $rds_id;
if ($history_days > -1) $params['history_days'] = $history_days;
return $this->getPostRequestResult($params);
}
/**
* 删除数据推送用户
* https://open.pinduoduo.com/application/document/api?id=pdd.ddy.pdp.user.delete
*
* @param unknown $owner_id
* @return boolean|mixed
*/
public function deleteDdyPdpUser($owner_id) {
$params['type'] = 'pdd.ddy.pdp.user.delete';
$params['$owner_id'] = $owner_id;
return $this->getPostRequestResult($params);
}
private function getPostRequestResult($params) {
$pub_params = $this->getPublicParams();
$nparams = array_merge($pub_params, $params);
$nparams['sign'] = $this->getSignature($params);
return $this->postRequest(json_encode($nparams));
}
/**
* 公共参数
*/
public function getPublicParams() {

5
model/mOrder.php

@ -48,6 +48,9 @@ class mOrder extends mBase {
// 买家留言信息
public $buyer_memo = '';
// 风控字段状态字段:risk_control_status:值为 1 则为风控订单,值为 0 则为正常订单。
public $risk_control_status = 0;
public function __construct() {
$this->obj = new dOrder();
$this->order = 'order_list';
@ -67,6 +70,7 @@ class mOrder extends mBase {
$data['sku_id'] = $this->sku_id;
$data['goods_price'] = $this->goods_price;
$data['goods_count'] = $this->goods_count;
$data['risk_control_status'] = $this->risk_control_status+0;
if ($this->urge_shipping_time) $data['urge_shipping_time'] = $this->urge_shipping_time;
if ($this->last_ship_time) $data['last_ship_time'] = $this->last_ship_time;
@ -232,6 +236,7 @@ class mOrder extends mBase {
$this->urge_shipping_time = $order['urge_shipping_time'];
$this->last_ship_time = $order['last_ship_time'];
$this->buyer_memo = $order['buyer_memo'];
$this->risk_control_status = $order['risk_control_status'];
$this->addOrder($shop_id, $uid);

40
model/mPdd.php

@ -257,4 +257,44 @@ class mPdd extends mBase {
return $res['order_sn_increment_get_response'];
}
public function getPddDdyPdpUsers($owner_id='', $start_modified='', $end_modified='', $page_no=1, $page_size=200) {
$obj = new PDD(PDD_CLIENT_ID, PDD_CLIENT_SECRET);
$res = $obj->getDdyPdpUsers($owner_id, $start_modified, $end_modified, $page_no, $page_size);
$res = json_decode($res, true);
if (isset($res['error_response'])) {
$this->setError($res['error_response']['error_msg'].' '.$res['error_response']['sub_msg']);
return false;
}
return $res['ddy_pdp_users_get_response'];
}
public function addPddDdyPdpUser($rds_id, $history_days=-1) {
$obj = new PDD(PDD_CLIENT_ID, PDD_CLIENT_SECRET);
$res = $obj->addDdyPdpUser($rds_id, $history_days);
$res = json_decode($res, true);
if (isset($res['error_response'])) {
$this->setError($res['error_response']['error_msg'].' '.$res['error_response']['sub_msg']);
return false;
}
return $res['ddy_pdp_user_add_response'];
}
public function deletePddDdyPdpUser($owner_id) {
$obj = new PDD(PDD_CLIENT_ID, PDD_CLIENT_SECRET);
$res = $obj->deleteDdyPdpUser($owner_id);
$res = json_decode($res, true);
if (isset($res['error_response'])) {
$this->setError($res['error_response']['error_msg'].' '.$res['error_response']['sub_msg']);
return false;
}
return $res['ddy_pdp_users_delete_response'];
}
}

3
model/mShop.php

@ -15,9 +15,10 @@ class mShop extends mBase {
$this->shop = 'shop_list';
}
public function addShop($name, $access_token, $expire_time, $uid=0) {
public function addShop($name, $access_token, $owner_id, $expire_time, $uid=0) {
$data = array();
$data['access_token'] = $access_token;
$data['owner_id'] = $owner_id;
$data['expire_time'] = $expire_time;
$info = $this->getShopByName($name);

2
queue/base/cronBase.php

@ -14,7 +14,7 @@ abstract class cronBase {
protected $procnum = 1; // 默认启动进程数
protected $maxtimelist; // 队列进程最大执行时间限制列表
protected $maxtime = 480; // 队列一次循环的默认最长时间, 未自定义则该项有效, 超过该值进程将被杀死
protected $bin_php = '/usr/local/bin/php'; // php执行文件路径
protected $bin_php = '/usr/bin/php'; // php执行文件路径
private $path_daemon; // ROOT根目录
private $proc_start; // 启动队列的进程信息

Loading…
Cancel
Save