Commit 3071123f authored by Administrator's avatar Administrator

20200721

parent becb6663
...@@ -110,8 +110,9 @@ def install_dbshop(site, host): ...@@ -110,8 +110,9 @@ def install_dbshop(site, host):
url = "http://{}/deployment?action=GetSpeed".format(host) url = "http://{}/deployment?action=GetSpeed".format(host)
resp = session.get(url) resp = session.get(url)
pre = resp.json().get("pre", 1) pre = resp.json().get("pre", 1)
resp.encoding = 'utf-8'
print("GetSpeed", resp.content) print("GetSpeed", resp.content)
if pre == 0: if pre == 0 and "正在下载文件" not in resp.content:
break break
time.sleep(5) time.sleep(5)
return True return True
...@@ -158,6 +159,9 @@ def shop_config(host, site, webname="DBShop电子商务系统"): ...@@ -158,6 +159,9 @@ def shop_config(host, site, webname="DBShop电子商务系统"):
if resp.text == "false": if resp.text == "false":
print("数据库配置失败") print("数据库配置失败")
return False return False
elif resp.status_code != 200:
print("请求安装页失败")
return False
print("数据库配置成功", resp.content) print("数据库配置成功", resp.content)
...@@ -217,8 +221,6 @@ def check_all_domain(ip): ...@@ -217,8 +221,6 @@ def check_all_domain(ip):
def sub_domain(site): def sub_domain(site):
if site.count('.') == 1: if site.count('.') == 1:
pay_site = 'pay.' + site pay_site = 'pay.' + site
elif site.count('.') == 2:
pay_site = 'pay.' + site.split(".", 1)[1]
else: else:
pay_site = site pay_site = site
return pay_site return pay_site
...@@ -340,6 +342,19 @@ def update_nginx(ip, site): ...@@ -340,6 +342,19 @@ def update_nginx(ip, site):
return True return True
def add_ip_domain(ip):
url = "http://{}/data?action=getData".format(ip)
# tojs=site.get_list&table=sites&limit=15&p=1&search=&order=id desc&type=-1
data = {"tojs": "site.get_list", "table": "sites", "limit": 15, "p": 1, "search": "", "order": "id desc",
"type": -1}
resp = session.post(url, data)
for item in resp.json().get("data", []):
id = item.get("id", 0)
name = item.get("name", "")
add_site_domain(id, ip, ip.replace(":8888", ""), name)
def install_shop(ip, site, webname): def install_shop(ip, site, webname):
# del_site(ip, site) # del_site(ip, site)
# 删除所有站点 # 删除所有站点
...@@ -348,9 +363,15 @@ def install_shop(ip, site, webname): ...@@ -348,9 +363,15 @@ def install_shop(ip, site, webname):
print("添加站点成功") print("添加站点成功")
install_dbshop(site, ip) install_dbshop(site, ip)
print("一键部署商城") print("一键部署商城")
add_ip_domain(ip)
time.sleep(5)
if shop_config(ip, site=site, webname=webname): if shop_config(ip, site=site, webname=webname):
print("配置商城成功") print("配置商城成功")
update_nginx(ip, site) update_nginx(ip, site)
elif shop_config(site, site=site, webname=webname):
print("配置商城成功")
update_nginx(ip, site)
else: else:
print("一键配置商城信息失败") print("一键配置商城信息失败")
...@@ -482,6 +503,7 @@ def run(ip, path, user, pwd, site, webname, sub_domain=""): ...@@ -482,6 +503,7 @@ def run(ip, path, user, pwd, site, webname, sub_domain=""):
shop_id, name = check_all_domain(ip) shop_id, name = check_all_domain(ip)
if shop_id: if shop_id:
print("商城已存在", shop_id, "name", name) print("商城已存在", shop_id, "name", name)
add_site_domain(shop_id, ip, ip.replace(":8888", ""), name)
add_site_domain(shop_id, ip, site, name) add_site_domain(shop_id, ip, site, name)
if sub_domain: if sub_domain:
add_site_domain(shop_id, ip, sub_domain, name) add_site_domain(shop_id, ip, sub_domain, name)
......
...@@ -622,7 +622,11 @@ class BindPayAccountHandler(TPBasePluginHandler): ...@@ -622,7 +622,11 @@ class BindPayAccountHandler(TPBasePluginHandler):
# password = password.replace("*", "") # password = password.replace("*", "")
host_password = host_password.replace("*", "") host_password = host_password.replace("*", "")
if not biz_id or not mch_no or not comp_id or not account: if not biz_id or not mch_no or not comp_id:
self.finish_json(1001, "缺少必填项")
return
if host_id and not account:
self.finish_json(1001, "缺少必填项") self.finish_json(1001, "缺少必填项")
return return
...@@ -662,12 +666,14 @@ class BindPayAccountHandler(TPBasePluginHandler): ...@@ -662,12 +666,14 @@ class BindPayAccountHandler(TPBasePluginHandler):
self.finish_json(1010, "无法找到对应主机信息") self.finish_json(1010, "无法找到对应主机信息")
return return
status = self.query("remote_host", "status", {"id": host_id})
args = props args = props
args['host_id'] = host_id args['host_id'] = host_id
id = self.query("remote_account_host_bind", "id", {"host_id": host_id, "mch_no": mch_no}) id = self.query("remote_account_host_bind", "id", {"host_id": host_id, "mch_no": mch_no})
# des_password = des_encrypt(password).decode() des_password = des_encrypt(password).decode()
args = {"mch_no": mch_no, "comp_id": comp_id, "host_id": host_id, "host_assigned": host_assigned, args = {"mch_no": mch_no, "comp_id": comp_id, "host_id": host_id, "host_assigned": host_assigned,
"account_source": 1, "account": account, "login_status": 0, "mch_name": "", "account_source": 1, "account": account, "login_status": 0, "mch_name": "",
"biz_id": biz_id, "ip": ip, "host_password": host_password, "username": username} "biz_id": biz_id, "ip": ip, "host_password": host_password, "username": username}
...@@ -676,7 +682,7 @@ class BindPayAccountHandler(TPBasePluginHandler): ...@@ -676,7 +682,7 @@ class BindPayAccountHandler(TPBasePluginHandler):
# xiugai # xiugai
if id: if id:
old_account = self.query('remote_account_host_bind', "account", {"id": id}) old_account = self.query('remote_account_host_bind', "account", {"id": id})
if account != old_account: if account and old_account and account != old_account:
self.finish_json(1011, "不允许修改绑定账户") self.finish_json(1011, "不允许修改绑定账户")
host_id_lock.pop(host_id, None) host_id_lock.pop(host_id, None)
return return
...@@ -686,6 +692,8 @@ class BindPayAccountHandler(TPBasePluginHandler): ...@@ -686,6 +692,8 @@ class BindPayAccountHandler(TPBasePluginHandler):
self.finish_json(1011, "不允许修改公司资质") self.finish_json(1011, "不允许修改公司资质")
elif err == TPE_NOT_EXISTS: elif err == TPE_NOT_EXISTS:
self.finish_json(1012, "设备不存在") self.finish_json(1012, "设备不存在")
elif int(status) != 1:
self.finish_json(2001, "请先初始化主机环境,再绑定操作")
elif err == TPE_OK: elif err == TPE_OK:
self.finish_json(0) self.finish_json(0)
host_id_lock.pop(host_id, None) host_id_lock.pop(host_id, None)
...@@ -707,6 +715,8 @@ class BindPayAccountHandler(TPBasePluginHandler): ...@@ -707,6 +715,8 @@ class BindPayAccountHandler(TPBasePluginHandler):
self.finish_json(1011, "绑定设备不存在") self.finish_json(1011, "绑定设备不存在")
elif err == TPE_DATABASE: elif err == TPE_DATABASE:
self.finish_json(1011, "绑定账户异常,请检查请求参数") self.finish_json(1011, "绑定账户异常,请检查请求参数")
elif int(status) != 1:
self.finish_json(2001, "请先初始化主机环境,再绑定操作")
else: else:
self.finish_json(0) self.finish_json(0)
......
# coding: utf-8 # coding: utf-8
import argparse import argparse
import datetime
import json import json
import os import os
import traceback import traceback
...@@ -79,6 +80,8 @@ def push_file(ip, username, password): ...@@ -79,6 +80,8 @@ def push_file(ip, username, password):
def auto_install_bt(ip, username, password, site, webname, sub="", host_id=0): def auto_install_bt(ip, username, password, site, webname, sub="", host_id=0):
transport = paramiko.Transport((ip, 22)) transport = paramiko.Transport((ip, 22))
try: try:
print('****************************开始操作:{}************************'.format(
datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')))
push_file(ip, username, password) push_file(ip, username, password)
transport.connect(username=username, password=password) transport.connect(username=username, password=password)
......
...@@ -227,10 +227,11 @@ def add_account_host_bind(handler, args): ...@@ -227,10 +227,11 @@ def add_account_host_bind(handler, args):
# 1. 判断账户是否已经存在了 # 1. 判断账户是否已经存在了
# 1.1 todo 禁用主机可以重新绑定 # 1.1 todo 禁用主机可以重新绑定
sql = 'SELECT id FROM tp_remote_account_host_bind WHERE account="{}" '.format(args['account']) if args.get("account", ""):
db_ret = db.query(sql) sql = 'SELECT id FROM tp_remote_account_host_bind WHERE account="{}" '.format(args['account'])
if db_ret is not None and len(db_ret) > 0: db_ret = db.query(sql)
return TPE_EXISTS, 0 if db_ret is not None and len(db_ret) > 0:
return TPE_EXISTS, 0
# 2. 判断host_id 是否存在 # 2. 判断host_id 是否存在
sql = 'SELECT id FROM tp_remote_host WHERE id="{}"'.format(args['host_id']) sql = 'SELECT id FROM tp_remote_host WHERE id="{}"'.format(args['host_id'])
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment