diff --git a/config/config.php b/config/config.php index 1275f12..1a9a1c0 100644 --- a/config/config.php +++ b/config/config.php @@ -1,11 +1,11 @@ [ - 'app' => APP_PATH.DIRECTORY_SEPARATOR.'app', - 'fastphp' => APP_PATH.DIRECTORY_SEPARATOR.'fastphp', - 'alipay' => APP_PATH.DIRECTORY_SEPARATOR.'alipay', - 'enum' => APP_PATH.DIRECTORY_SEPARATOR.'enum', + 'app' => APP_PATH . DIRECTORY_SEPARATOR . 'app', + 'fastphp' => APP_PATH . DIRECTORY_SEPARATOR . 'fastphp', + 'alipay' => APP_PATH . DIRECTORY_SEPARATOR . 'alipay', + 'enum' => APP_PATH . DIRECTORY_SEPARATOR . 'enum', ], // 数据库连接 @@ -27,7 +27,21 @@ return [ 'port' => 3306, 'dbname' => 'hualianyun', 'username' => 'root', - 'password' => '123456789' + 'password' => '123456789', + ], + // 线上数据库连接 + 'formal_db' => [ + 'host' => '127.0.0.1', + 'port' => 3306, + 'dbname' => 'hualianyun', + 'username' => 'root', + 'password' => 'qaz123!@#', + ], + //线上地址 + 'formal_origin' => [ + 'http://www.juip.com', + 'http://juip.com', + 'http://hl957admin.juip.com', ], // 跨域请求 'origin' => [ @@ -42,8 +56,8 @@ return [ 'app_id' => '2021002102631089', 'public_key' => 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsYQTx4fjW5gklwCyOC84qRGPJXJ+gvSRsHgj3HExjs1BZiAWYzxr2XGYS8IHXh8iiZKojp9KXdzrUFcTu9Oqe8Xr+fPsPbqde2xlHK/8UXgMWjpNlt4YqjVxsqck5TgZzrPcL6/sLArB6EuK0qIDJh7Mt7OLX17az/921ZK03BqpXeWcoR5wufBdFLJexvJQH9VkGqzQBIVZrepNDNjf4gb5EMhpZ8EkAIJeo+cpTrw0VOtOvsp90PlvT9wBw/zaJjXotOMxLD78R4ZBMHHxXt+5G8A5m6bhoWYcATtEwoGUlWuZmuW3AkyDyyVSpTPV9OWfYiAVNUveXTkDru1AnQIDAQAB', 'private_key' => 'MIIEowIBAAKCAQEAsYQTx4fjW5gklwCyOC84qRGPJXJ+gvSRsHgj3HExjs1BZiAWYzxr2XGYS8IHXh8iiZKojp9KXdzrUFcTu9Oqe8Xr+fPsPbqde2xlHK/8UXgMWjpNlt4YqjVxsqck5TgZzrPcL6/sLArB6EuK0qIDJh7Mt7OLX17az/921ZK03BqpXeWcoR5wufBdFLJexvJQH9VkGqzQBIVZrepNDNjf4gb5EMhpZ8EkAIJeo+cpTrw0VOtOvsp90PlvT9wBw/zaJjXotOMxLD78R4ZBMHHxXt+5G8A5m6bhoWYcATtEwoGUlWuZmuW3AkyDyyVSpTPV9OWfYiAVNUveXTkDru1AnQIDAQABAoIBADd/TFPAJxN2sFHJNO6dzMAGrlMNxYGZhoa+OK/tb4nun7iW5Yjm1ezoN63PnlANudV61VmpcS2BKMw4PQImvZDuosTFPqFZ22w/yii62E58EpiOy70T+HAWP1KUMNO8w0y9LGR4QoTOZCsEmwUZA5UCYgw4hKUvWYdXncZNlF+PLNNvYIE4oJ8ixwJaBrO0agZszK8Kv8VW86++PGGw7YkP4e27Z7Dk4AwmdJAOrfaf7nHSiUPNB5S2spxsxJC7iU67/YS9amW3GBLLrQ/UKnjEmWlymPAx28Q9iguAQvyEoHUo5Dy4tZVldwWWOB1U9yj22zKpKeNwU135VSa9Hl0CgYEA4Lnth7WlWeTH7su2L4dIBsmTQeqkWl5nsNdfJl7q6Ooi5yvDahLy8ys8rWawkuTvFyGzZHYGnK0zEzUiMGTDxOU8N3E/D+CyarFhAJ7yycYlbOD5ADWy+6Ipq1ya4wIAdAB6dHHXw9yLfvACJTZtbUYSJvHgKIb3wNqcL/Oznm8CgYEAyjg9JvEhoSzAf+nJ+x/9enE/qISgweoNTctcqE+UY4VPn2y7D+UvVhdmPn7hn+fCevl03/JzDDYmmdaWq8HadiubJLEebLKlzDmAefY5fnjEEPR/GeCQWutdsmOAU8xhB3hzO6fDEP7bo7kZb3v7ES9LXaGcah5KCN2Tjfk+l7MCgYEAh+wNHhMg8tEsmGOASxkA2JIdTjY0uC/3eX+anmO0o7HR8I6IwGS7q5aQObUtwXtUnWIV1gKJF0Su6sQtbKXVvwaDuGj3oovefifRKwX4hVAinMsp8BWKryYzG+GEER/J1F/hsQKWZXHEsb9LHOThpMFIA2Qyl3Ci83OGGn7FOmMCgYAoRRjQd3aF/T58epcxfkZhKspNidPlqfFqS5QxJF/djb+0dNevq6lIkLJYwbW2vVV6XdELg+GrTeFUA2rP23Pg0oA7x1XSuaTQzaarIwCCEhShd78T7SdyI6ruCmiUx3+PGEqCV7891DLzILpS/DKcUnnEtJlMfKmrqExpGnh/hwKBgH/iqwvI/gGIqxIpAjl8uSBKCubRIzK4L1HX/jN0uqNHqDEmPenClJekhsaITSgVA/tqfqi6b1XZaDtg4beYX/ZfSWNi1afdqCf1i3ccfNUE6sagoSRBkWKNIqF6U3P505e4N7igMmYBk4ufemJedOAw/HnCiSNOY1yzElmn5bnc', - 'app_crt' => APP_PATH.'config/alicrts/appCertPublicKey_2021002102631089.crt', - 'root_crt' => APP_PATH.'config/alicrts/alipayRootCert.crt', - 'public_crt' => APP_PATH.'config/alicrts/alipayCertPublicKey_RSA2.crt', - ] -]; \ No newline at end of file + 'app_crt' => APP_PATH . 'config/alicrts/appCertPublicKey_2021002102631089.crt', + 'root_crt' => APP_PATH . 'config/alicrts/alipayRootCert.crt', + 'public_crt' => APP_PATH . 'config/alicrts/alipayCertPublicKey_RSA2.crt', + ], +]; diff --git a/enum/user/User.php b/enum/user/User.php new file mode 100644 index 0000000..6a6ae9e --- /dev/null +++ b/enum/user/User.php @@ -0,0 +1,40 @@ + '待跟进-未购买', + 2 => '跟进超时-未购买', + 3 => '待跟进-消费减少', + 4 => '跟进超时-消费减少', + 5 => '流失-需求减少', + 6 => '流失-暂时不用', + 7 => '流失-价格问题', + 8 => '流失-产品问题', + 9 => '流失-也可自定义', + 10 => '高意向客户', + 11 => '已完成', + ]; + + public static function getFormatList($arr) + { + $format_list = []; + foreach ($arr as $k => $v) { + $data['value'] = $k; + $data['label'] = $v; + $format_list[] = $data; + } + return $format_list; + } + +} diff --git a/fastphp/Fastphp.php b/fastphp/Fastphp.php index af51cfb..7607324 100644 --- a/fastphp/Fastphp.php +++ b/fastphp/Fastphp.php @@ -136,7 +136,15 @@ class Fastphp //配置数据库信息 public function setDbConfig() { - if (isset($this->config['db'])) { + $formal_origin = $this->config['formal_origin']; //跨域访问的时候才会存在此字段 + $origin = isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : ''; + if (in_array($origin, $formal_origin)) { + define('DB_HOST', $this->config['formal_db']['host']); + define('DB_PORT', $this->config['formal_db']['port']); + define('DB_NAME', $this->config['formal_db']['dbname']); + define('DB_USER', $this->config['formal_db']['username']); + define('DB_PASS', $this->config['formal_db']['password']); + } else { define('DB_HOST', $this->config['db']['host']); define('DB_PORT', $this->config['db']['port']); define('DB_NAME', $this->config['db']['dbname']); diff --git a/fastphp/base/Controller.php b/fastphp/base/Controller.php index ca923c0..729634c 100644 --- a/fastphp/base/Controller.php +++ b/fastphp/base/Controller.php @@ -1,4 +1,12 @@ verifyToken($token); } else { - $jwt = new Jwt('etor_yh_lzh_20f_2020_YES'); - $getPayload=$jwt->verifyToken($_SERVER['HTTP_TOKEN']); + if(isset($_SERVER['HTTP_TOKEN'])){ + $jwt = new Jwt('etor_yh_lzh_20f_2020_YES'); + $getPayload=$jwt->verifyToken($_SERVER['HTTP_TOKEN']); + } else { + die; + } } diff --git a/fastphp/base/Model.php b/fastphp/base/Model.php index 3f5a1be..77a30f9 100644 --- a/fastphp/base/Model.php +++ b/fastphp/base/Model.php @@ -2,7 +2,7 @@ /* * @Author: your name * @Date: 2020-09-30 17:32:46 - * @LastEditTime: 2020-10-26 10:33:22 + * @LastEditTime: 2020-11-16 16:09:31 * @LastEditors: kangkang * @Description: In User Settings Edit * @FilePath: /phptest/fastphp/base/Model.php @@ -40,6 +40,16 @@ class Model extends Sql return $this->field('count(1) as count')->where($where)->fetch(); } + /** + * @description: 获取所有的列表 + * @param {*} + * @return {*} + */ + public function getList($where = [],$fields = '*', $order = 'id desc') + { + return $this->field($fields)->where($where)->order($order)->fetchAll(); + } + /** * 按照页数获取数据 * @param $fields 'id,count(1)...' @@ -59,16 +69,17 @@ class Model extends Sql */ public function getOne($where = [], $fields = '*') { - return $this->field($fields)->where($where)->limit('1')->fetch(); + return $this->field($fields)->where($where)->fetch(); } - + /** * @description: 获取最新一条数据 * @param {*} * @return {*} */ - public function getNewOne($fields = '*'){ - return $this->field($fields)->order('id desc')->limit(1)->fetch(); + public function getNewOne($fields = '*') + { + return $this->field($fields)->order('id desc')->fetch(); } /** * @description: 更新一条数据 diff --git a/fastphp/db/Sql.php b/fastphp/db/Sql.php index 841165b..90ec041 100644 --- a/fastphp/db/Sql.php +++ b/fastphp/db/Sql.php @@ -30,7 +30,7 @@ class Sql { $this->filter .= ''; if ($where) { - if(!strpos($this->filter,'WHERE') !== false){ + if (!strpos($this->filter, 'WHERE') !== false) { $this->filter .= ' WHERE '; } else { $this->filter .= ' AND '; @@ -39,14 +39,15 @@ class Sql $this->filter .= $where; } else { $flag = true; + $ins = ['in', 'IN', 'not in', 'NOT IN']; foreach ($where as $key => $value) { if ($flag) { $flag = false; if (is_array($value)) { - if($value[0] == 'in'){ - $this->filter .= ' `' . $key . '` ' . $value[0] . '('.implode(',',$value[1]).')'; + if (in_array($value[0], $ins)) { + $this->filter .= ' `' . $key . '` ' . $value[0] . '(' . implode(',', $value[1]) . ')'; } else { - $param_key = $this->paramIsExit($key,$this->param); + $param_key = $this->paramIsExit($key, $this->param); $this->filter .= ' `' . $key . '` ' . $value[0] . ' :' . $param_key; $this->param[$param_key] = $value[1]; } @@ -56,10 +57,10 @@ class Sql } } else { if (is_array($value)) { - if($value[0] == 'in'){ - $this->filter .= ' AND `' . $key . '` ' . $value[0] . '('.implode(',',$value[1]).')'; + if (in_array($value[0], $ins)) { + $this->filter .= ' AND `' . $key . '` ' . $value[0] . '(' . implode(',', $value[1]) . ')'; } else { - $param_key = $this->paramIsExit($key,$this->param); + $param_key = $this->paramIsExit($key, $this->param); $this->filter .= ' AND `' . $key . '` ' . $value[0] . ' :' . $param_key; $this->param[$param_key] = $value[1]; } @@ -74,12 +75,13 @@ class Sql return $this; } - public function paramIsExit($key,$param){ - if(!isset($param[$key])){ + public function paramIsExit($key, $param) + { + if (!isset($param[$key])) { return $key; } else { $key .= $key; - return $this->paramIsExit($key,$param); + return $this->paramIsExit($key, $param); } } @@ -103,11 +105,11 @@ class Sql * @return $this * $group=['sex','name'] */ - public function group($group = []) + public function group($group = [], $having = '') { if ($group) { $this->filter .= ' GROUP BY '; - $this->filter .= ' ' . implode(' ,', $group) . ' '; + $this->filter .= ' ' . implode(' ,', $group) . ' ' . $having . ' '; } return $this; } @@ -159,7 +161,7 @@ class Sql */ public function fetch() { - $sql = sprintf('SELECT %s FROM `%s` %s', $this->field, $this->table, $this->filter); + $sql = sprintf('SELECT %s FROM `%s` %s LIMIT 1', $this->field, $this->table, $this->filter); $this->filter = ''; $sth = Db::pdo()->prepare($sql); $sth = $this->formatParam($sth, $this->param); @@ -176,7 +178,7 @@ class Sql */ public function delete() { - $sql = sprintf('DELETE FROM `%s` %s', $this->table, $this->filter); + $sql = sprintf('DELETE FROM `%s` %s LIMIT 1', $this->table, $this->filter); $this->filter = ''; $sth = Db::pdo()->prepare($sql); $sth = $this->formatParam($sth, $this->param); @@ -225,7 +227,7 @@ class Sql $sql = sprintf('UPDATE `%s` SET %s %s', $this->table, $this->formatUpdate($data), $this->filter); $this->filter = ''; $sth = Db::pdo()->prepare($sql); - $sth = $this->formatParam($sth, $data); + $sth = $this->formatUpdateParam($sth, $data); $sth = $this->formatParam($sth, $this->param); $this->param = []; $sth->execute(); @@ -248,6 +250,20 @@ class Sql return $sth; } + /** + * 绑定具体变量值update + * @param PDOStatement $sth + * @param array $params + * @return PDOStatement + */ + public function formatUpdateParam(PDOStatement $sth, $params = []) + { + foreach ($params as $param => &$value) { + $param = ':' . ltrim($param, ':').'update'; + $sth->bindParam($param, $value); + } + return $sth; + } /** * 将数组转化为插入格式的sql语句 * @param $data @@ -295,8 +311,8 @@ class Sql { $fields = []; foreach ($data as $key => $value) { - $fields[] = sprintf('`%s`=:%s', $key, $key); - $this->param[$key] = $value; + $fields[] = sprintf('`%s`=:%s', $key, $key.'update'); + $this->param[$key.'update'] = $value; } return implode(',', $fields); } diff --git a/fastphp/func/common.php b/fastphp/func/common.php index 8606a6f..66c492f 100644 --- a/fastphp/func/common.php +++ b/fastphp/func/common.php @@ -5,7 +5,7 @@ * @Author: kangkang * @Date: 2020-09-30 17:32:46 * @LastEditors: kangkang - * @LastEditTime: 2020-10-16 11:14:25 + * @LastEditTime: 2020-11-14 10:35:30 */ /** * 浏览器友好的变量输出