def top_up(): results = {"code": RET.OK, "msg": MSG.OK} try: data = request.form.get('money') name = request.form.get('name') pay_num = sum_code() t = xianzai_time() money = float(data) before = SqlData().search_user_field_name('balance', name) user_id = SqlData().search_user_field_name('id', name) # 更新账户余额 SqlData().update_user_balance(money, user_id) # 实时查询当前余额,不以理论计算为结果 balance = SqlData().search_user_field('balance', user_id) # 更新客户充值记录 SqlData().insert_top_up(pay_num, t, money, before, balance, user_id, '系统') phone = SqlData().search_user_field_name('phone_num', name) if phone: CCP().send_Template_sms(phone, [name, t, money], 478898) return jsonify(results) except Exception as e: logging.error(e) results['code'] = RET.SERVERERROR results['msg'] = MSG.SERVERERROR return jsonify(results)
def insert_task(): user_id = g.user_id data = json.loads(request.form.get('data')) country = data.get('country') sum_time = data.get('sum_time') asin = data.get('asin') store_name = data.get('store_name') key_word = data.get('key_word') kw_location = data.get('kw_location') good_name = data.get('good_name') good_money = data.get('good_money') good_link = data.get('good_link') pay_method = data.get('pay_method') serve_class = data.get('serve_class') mail_method = data.get('mail_method') note = data.get('note') review_title = data.get('review_title') review_info = data.get('review_info') feedback_info = data.get('feedback_info') try: sum_order_code = sum_code() parent_id = SqlData().insert_task_parent(user_id, sum_order_code) task_code = sum_order_code + '-' + '1' SqlData().insert_task_detail(parent_id, task_code, country, asin, key_word, kw_location, store_name, good_name, good_money, good_link, pay_method, sum_time, serve_class, mail_method, note, review_title, review_info, feedback_info, user_id) return jsonify({'code': RET.OK, 'msg': RET.OK}) except Exception as e: logging.error(str(e)) return jsonify({'code': RET.SERVERERROR, 'msg': MSG.SERVERERROR})
def refund_balance(): ''' 卡退款接口 :return: ''' try: data = json.loads(request.form.get('data')) card_no = json.loads(request.form.get('card_no')) pay_passwd = SqlData().search_card_field('pay_passwd', card_no) if "-" in str(data): return jsonify({'code': RET.SERVERERROR, 'msg': '请输入正确金额!'}) refund_money = str(round(float(data) * 100)) resp = QuanQiuFu().trans_account_cinsume(card_no, pay_passwd, refund_money) resp_code = resp.get('resp_code') resp_msg = resp.get('resp_msg') results = {"code": RET.OK, "msg": MSG.OK} if resp_code == "0000": user_id = g.user_id try: detail = resp.get('response_detail') remain = int(detail.get('balance')) / 100 SqlData().update_card_remain('remain', remain, card_no) except Exception as e: logging.error('退款更新卡余额失败!' + str(e)) refund = SqlData().search_user_field('refund', user_id) hand_money = round(refund * float(data), 2) do_money = round(float(data) - hand_money, 2) before_balance = SqlData().search_user_field('balance', user_id) # 更新账户余额 SqlData().update_balance(do_money, user_id) balance = SqlData().search_user_field('balance', user_id) # 将退款金额转换为负数 do_money = do_money - do_money * 2 n_time = xianzai_time() SqlData().insert_account_trans(n_time, TRANS_TYPE.IN, DO_TYPE.REFUND, 1, card_no, do_money, hand_money, before_balance, balance, user_id) # 更新客户充值记录 pay_num = sum_code() t = xianzai_time() SqlData().insert_top_up(pay_num, t, do_money, before_balance, balance, user_id, '退款') results['msg'] = resp_msg else: resp_msg = resp.get('resp_msg') s = '卡余额领回失败,状态码: ' + resp_code + ',信息: ' + resp_msg logging.error(s) results['code'] = RET.SERVERERROR results['msg'] = resp_msg return jsonify(results) except Exception as e: logging.error(str(e)) results = {"code": RET.SERVERERROR, "msg": MSG.SERVERERROR} return jsonify(results)
def add_account(): if request.method == 'GET': return render_template('admin/add_account.html') if request.method == 'POST': results = {"code": RET.OK, "msg": MSG.OK} try: data = json.loads(request.form.get('data')) name = data.get('name').strip() account = data.get('account').strip() password = data.get('password').strip() phone_num = data.get('phone_num') create_price = float(data.get('create_price')) min_top = float(data.get('min_top')) max_top = float(30000) ed_name = SqlData.search_user_field_name('account', name) if ed_name: results['code'] = RET.SERVERERROR results['msg'] = '该用户名已存在!' return jsonify(results) if phone_num: ret = re.match(r"^1[35789]\d{9}$", phone_num) if not ret: results['code'] = RET.SERVERERROR results['msg'] = '请输入符合规范的电话号码!' return jsonify(results) else: phone_num = "" SqlData.insert_account(account, password, phone_num, name, create_price, min_top, max_top) # 创建用户后插入充值数据 pay_num = sum_code() t = xianzai_time() user_id = SqlData.search_user_field_name('id', name) SqlData.insert_top_up(pay_num, t, 0, 0, 0, user_id) SqlData.insert_account_trans(date=t, trans_type="充值", do_type="支出", card_no=0, do_money=0, before_balance=0, balance=0, user_id=user_id) return jsonify(results) except Exception as e: logging.error(e) results['code'] = RET.SERVERERROR results['msg'] = MSG.SERVERERROR return jsonify(results)
def up_pay_pic(): results = {'code': RET.OK, 'msg': MSG.OK} file = request.files.get('file') file_name = sum_code() + ".png" file_path = DIR_PATH.PHOTO_DIR + "/" + file_name file.save(file_path) filename = sm_photo(file_path) if filename == 'F': os.remove(file_path) return jsonify({'code': RET.SERVERERROR, 'msg': '不可上传相同图片,请重新上传!'}) if filename: # 上传成功后插入信息的新的收款方式信息 os.remove(file_path) t = xianzai_time() SqlData().insert_qr_code(filename, t) return jsonify(results) else: return jsonify({'code': RET.SERVERERROR, 'msg': MSG.SERVERERROR})
def up_review_pic(): user_id = g.user_id results = {'code': RET.OK, 'msg': MSG.OK} file = request.files.get('file') task_code = request.args.get('task_code') file_name = str(user_id) + "-" + sum_code() + ".png" file_path = PHOTO_DIR + "/" + file_name file.save(file_path) static_path = '/static/photo/' + file_name file_path = 'http://114.116.236.27:8080/user/pic_link?path=' + static_path phone_link = file_path phone_info = SqlData().search_review_pic(task_code) if not phone_info: link_dict = dict() link_dict[phone_link] = 'one' link_json = json.dumps(link_dict) SqlData().update_review_one('pic_link', link_json, task_code) if phone_info: link_dict = json.loads(phone_info) link_dict[phone_link] = 'two' link_json = json.dumps(link_dict) SqlData().update_review_one('pic_link', link_json, task_code) return jsonify(results)
def pay_pic(): if request.method == 'GET': sum_money = request.args.get('sum_money') top_money = request.args.get('top_money') cus_name = request.args.get('cus_name') cus_account = request.args.get('cus_account') phone = request.args.get('phone') phone2 = request.args.get("phone2") ex_change = request.args.get('ex_change') # 取出目前当前收款金额最低的收款码 qr_info = SqlData.search_qr_code('WHERE status=0') if not qr_info: url = '' else: url = '' value_list = list() for i in qr_info: value_list.append(i.get('sum_money')) value = min(value_list) for n in qr_info: money = n.get('sum_money') if value == money: url = n.get('qr_code') break context = dict() bank_top_data = SqlData.search_bank_info(sql_line='WHERE status=2') if bank_top_data: data = bank_top_data[0] context['bank_name'] = data.get('bank_name') context['bank_number'] = data.get('bank_number') context['bank_address'] = data.get('bank_address') else: # 一下三个循环和判断为处理相同收款人,多个账号,取低于累计20万的中的最小收款账号 bank_data = SqlData.search_bank_info(sql_line='WHERE status=0') # bank_info 整理为一个收款人对应多个收款卡号 {'':[],'':[]} 格式 bank_info = dict() for n in bank_data: bank_name = n.get('bank_name') if bank_name in bank_info: info_list = bank_info.get(bank_name) info_list.append(n) else: info_list = list() info_list.append(n) bank_info[bank_name] = info_list # sum_money_dict 为统计一个账号一共充值了多少元 sum_money_dict = dict() for i in bank_info: value = bank_info.get(i) money = 0 for m in value: money += float(m.get('day_money')) sum_money_dict[i] = money # min_dict 为取出满足累计收款低于20万的账户,且最小的充值战账户 min_dict = dict() for acc in sum_money_dict: if sum_money_dict.get(acc) < 200000: min_dict[acc] = sum_money_dict.get(acc) if len(min_dict) == 0: context['bank_name'] = '无符合要求收款账户!' context['bank_number'] = '请联系管理员处理!' context['bank_address'] = '-------------' else: # 在最小充值账户中取出最小收款卡号推送 min_acc = min(zip(min_dict.values(), min_dict.keys())) min_acc = min_acc[1] acc_list = bank_info.get(min_acc) data = min(acc_list, key=dic_key) context['bank_name'] = data.get('bank_name') context['bank_number'] = data.get('bank_number') context['bank_address'] = data.get('bank_address') context['sum_money'] = sum_money context['top_money'] = top_money context['cus_name'] = cus_name context['cus_account'] = cus_account context['phone'] = "{},{}".format(phone, phone2) if phone2 else phone context['url'] = url context['ex_change'] = ex_change return render_template('pay/pay_pic.html', **context) if request.method == 'POST': ''' 获取充值金额, 保存付款截图. 发送邮件通知管理员 ''' # try: # 两组数据,1,表单信息充值金额,等一下客户信息 2,截图凭证最多可上传5张 # print(request.form) # print(request.files) data = json.loads(request.form.get('data')) top_money = data.get('top_money') sum_money = data.get('sum_money') cus_name = data.get('cus_name') cus_account = data.get('cus_account') phone = data.get('phone') exchange = data.get('exchange') url = json.loads(request.form.get('url')) change_type = json.loads(request.form.get("change_type")) bank_name = json.loads(request.form.get("bank_name")) bank_number = json.loads(request.form.get("bank_number")) bank_address = json.loads(request.form.get("bank_address")) results = {'code': RET.OK, 'msg': MSG.OK} try: # 保存所有图片 file_n = 'file_' pic_list = list() # 判断有无上传图片 f_obj = request.files.get("{}{}".format(file_n, 1)) if not f_obj: return jsonify({'code': RET.SERVERERROR, 'msg': "请先上传图片再操作"}) for i in range(5): file_name = "{}{}".format(file_n, i + 1) fileobj = request.files.get(file_name) if fileobj: now_time = sum_code() file_name = cus_account + "_" + str(now_time) + str( i) + ".png" file_path = os.path.join(DIR_PATH.PHOTO_DIR, file_name) fileobj.save(file_path) pic_list.append(file_path) n_time = xianzai_time() vir_code = str(uuid.uuid1())[:6] context = "556338平台客户: " + cus_name + " , 于<span style='color:red'>" + n_time + "</span>在线申请充值: " \ + top_money + "美元, 折和人名币: <span style='color:red'>" + sum_money + "</span>元。本次计算汇率为: " + exchange + ", 验证码为: " + vir_code cus_id = SqlData.search_user_check(cus_name, cus_account) sum_money = float(sum_money) top_money = float(top_money) if change_type == "pic": SqlData.insert_pay_log(n_time, sum_money, top_money, vir_code, '待充值', phone, url, cus_id) elif change_type == "bank": SqlData.insert_pay_log( n_time, sum_money, top_money, vir_code, '待充值', phone, "{},{},{}".format(bank_name, bank_number, bank_address), cus_id) # 获取要推送邮件的邮箱 top_push = SqlData.search_admin_field('top_push') top_dict = json.loads(top_push) email_list = list() for i in top_dict: email_list.append(top_dict.get(i)) for p in email_list: executor.submit(send, context, pic_list, p) # send(context, pic_list, p) return jsonify(results) except Exception as e: logging.error(str(e)) return jsonify({'code': RET.SERVERERROR, 'msg': str(e)})
def up_task(): file = request.files.get('file') filename = file.filename file_path = save_file(file, filename, TASK_DIR) results = {'code': RET.OK, 'data': MSG.OK} user_id = g.user_id if 'static' in file_path: method = 'r' data = xlrd.open_workbook(file_path, encoding_override='utf-8') table = data.sheets()[0] nrows = table.nrows # 行数 ncols = table.ncols # 列数 row_list = list() if method == 'r': row_list = [table.row_values(i) for i in range(0, nrows)] # 所有行的数据 elif method == 'c': col_list = [table.col_values(i) for i in range(0, ncols)] # 所有列的数据 index = 1 err_list = list() for i in row_list[1:]: index += 1 if not all([i[0], i[1], i[2], i[3], i[4], i[6], i[7], i[8], i[10], i[11]]): err_list.append(str(index)) if len(err_list) != 0: results['code'] = RET.SERVERERROR m = "" for i in err_list: m = m + i + ',' results['msg'] = "第" + m + "行缺少必填参数!" return jsonify(results) sum_order_code = sum_code() parent_id = SqlData().insert_task_parent(user_id, sum_order_code) i = 1 for one in row_list[1:]: task_code = sum_order_code + '-' + str(i) country = one[0].strip() if not one[1]: task_run_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") else: task_run_time = excel_to_data(one[1]) asin = one[2].strip() key_word = one[3].strip() kw_location = one[4].strip() store_name = one[5].strip() good_name = one[6].strip() good_money = one[7] good_link = one[8].strip() pay_method = one[9].strip() serve_class = one[10].strip() mail_method = one[11].strip() note = one[12].strip() review_title = one[13].strip() review_info = one[14].strip() feedback_info = one[15].strip() try: SqlData().insert_task_detail(parent_id, task_code, country, asin, key_word, kw_location, store_name, good_name, good_money, good_link, pay_method, task_run_time, serve_class, mail_method, note, review_title, review_info, feedback_info, user_id) i += 1 except Exception as e: logging.error(str(e)) return jsonify({'code': RET.SERVERERROR, 'msg': '上传失败!'}) return jsonify(results)
def pay_pic(): if request.method == 'GET': sum_money = request.args.get('sum_money') top_money = request.args.get('top_money') cus_name = request.args.get('cus_name') cus_account = request.args.get('cus_account') phone = request.args.get('phone') ex_change = request.args.get('ex_change') # 取出目前当前收款金额最低的收款码 qr_info = SqlData().search_qr_code('WHERE status=0') if not qr_info: url = '' else: url = '' value_list = list() for i in qr_info: value_list.append(i.get('sum_money')) value = min(value_list) for n in qr_info: money = n.get('sum_money') if value == money: url = n.get('qr_code') break context = dict() context['sum_money'] = sum_money context['top_money'] = top_money context['cus_name'] = cus_name context['cus_account'] = cus_account context['phone'] = phone context['url'] = url context['ex_change'] = ex_change return render_template('pay/pay_pic.html', **context) if request.method == 'POST': ''' 获取充值金额, 保存付款截图. 发送邮件通知管理员 ''' try: # 两组数据,1,表单信息充值金额,等一下客户信息 2,截图凭证最多可上传5张 # print(request.form) # print(request.files) data = json.loads(request.form.get('data')) top_money = data.get('top_money') sum_money = data.get('sum_money') cus_name = data.get('cus_name') cus_account = data.get('cus_account') phone = data.get('phone') exchange = data.get('exchange') url = json.loads(request.form.get('url')) results = {'code': RET.OK, 'msg': MSG.OK} # 保存所有图片 file_n = 'file_' pic_list = list() for i in range(5): file_name = file_n + str(i + 1) file_img = request.files.get(file_name) if file_img: now_time = sum_code() file_name = cus_account + "_" + now_time + str(i) + ".png" file_path = DIR_PATH.PHOTO_DIR + file_name file_img.save(file_path) pic_list.append(file_name) n_time = xianzai_time() vir_code = str(uuid.uuid1())[:6] ex_range = SqlData().search_admin_field('ex_range') hand = SqlData().search_admin_field('hand') if exchange != 'None': top_exchange = round((float(exchange) + ex_range) * (hand + 1), 5) top_exchange_str = ' 充值汇率为: ' + str(top_exchange) + ", " money_type = '人民币' else: money_type = '美元' top_exchange_str = '' context = "客户: " + cus_name + " , 于" + n_time + "在线申请充值: " + top_money + "美元, 折和" + money_type + ": " + \ sum_money + "元。本次计算汇率为: " + exchange + "," + top_exchange_str + " 验证码为: " + vir_code cus_id = SqlData().search_user_check(cus_name, cus_account) sum_money = float(sum_money) top_money = float(top_money) pic_json = json.dumps(pic_list) SqlData().insert_pay_log(n_time, sum_money, top_money, vir_code, '待充值', phone, url, pic_json, cus_id) # 获取要推送邮件的邮箱 top_push = SqlData().search_admin_field('top_push') top_dict = json.loads(top_push) email_list = list() for i in top_dict: email_list.append(top_dict.get(i)) for p in email_list: send(context, pic_list, p) return jsonify(results) except Exception as e: logging.error(str(e)) return jsonify({'code': RET.SERVERERROR, 'msg': MSG.SERVERERROR})
def top_up(): if request.method == 'GET': pay_time = request.args.get('pay_time') cus_name = request.args.get('cus_name') bank_msg = request.args.get('bank_msg') context = dict() context['pay_time'] = pay_time context['cus_name'] = cus_name context['bank_msg'] = bank_msg return render_template('verify_pay/check.html', **context) if request.method == 'POST': try: results = dict() data = json.loads(request.form.get('data')) pay_time = data.get('pay_time') cus_name = data.get('cus_name') check = data.get('check') ver_code = data.get('ver_code') bank_address = data.get("bank_msg") # 校验参数验证激活码 if check != 'yes': results['code'] = RET.SERVERERROR results['msg'] = '请确认已收款!' return jsonify(results) pass_wd = SqlData.search_pay_code('ver_code', cus_name, pay_time) if pass_wd != ver_code: results['code'] = RET.SERVERERROR results['msg'] = '验证码错误!' return jsonify(results) status = SqlData.search_pay_code('status', cus_name, pay_time) if status != '待充值': results['code'] = RET.SERVERERROR results['msg'] = '该订单已充值,请刷新界面!' return jsonify(results) # 验证成功后,做客户账户充值 cus_id = SqlData.search_user_field_name('id', cus_name) ''' # 判断是否需要更改充值金额(取消改动充值金额权限) if not money: money = SqlData.search_pay_code('top_money', cus_name, pay_time) else: money = float(money) # 更新新的充值金额 SqlData.update_pay_money(money, cus_id, pay_time) ''' money = SqlData.search_pay_code('top_money', cus_name, pay_time) pay_num = sum_code() t = xianzai_time() before = SqlData.search_user_field_name('balance', cus_name) balance = before + money user_id = SqlData.search_user_field_name('id', cus_name) pay_money = SqlData.search_pay_code('pay_money', cus_name, pay_time) # 更新银行卡收款金额 if bank_address: pattern = re.compile(r'\d+\.?\d*') bank_number = pattern.findall(bank_address) bank_money = SqlData.search_bank_top(bank_number) update_money = float(pay_money) + float(bank_money) SqlData.update_bank_top(bank_number, float(pay_money), update_money) else: # 更新首款码收款金额 # pay_money = SqlData.search_pay_code('pay_money', cus_name, pay_time) url = SqlData.search_pay_code('url', cus_name, pay_time) SqlData.update_qr_money('top_money', pay_money, url) # 更新账户余额 SqlData.update_user_balance(money, user_id) # 更新客户充值记录 SqlData.insert_top_up(pay_num, t, money, before, balance, user_id) # 更新pay_log的订单的充值状态 SqlData.update_pay_status('已充值', t, cus_id, pay_time) phone = SqlData.search_user_field_name('phone_num', cus_name) mid_phone = SqlData.search_pay_code('phone', cus_name, pay_time) # 给客户和代充值人发送短信通知 money_msg = "{}元, 可用余额{}".format(money, balance) if phone: phone_list = phone.split(",") for p in phone_list: CCP().send_Template_sms(p, [cus_name, t, money_msg], 485108) if mid_phone: CCP().send_Template_sms(mid_phone, [cus_name, t, money_msg], 485108) results['code'] = RET.OK results['msg'] = MSG.OK return jsonify(results) except Exception as e: logging.error(str(e)) results = dict() results['code'] = RET.SERVERERROR results['msg'] = str(e) return jsonify(results)
def top_up(): if request.method == 'GET': pay_time = request.args.get('pay_time') cus_name = request.args.get('cus_name') context = dict() context['pay_time'] = pay_time context['cus_name'] = cus_name return render_template('verify_pay/check.html', **context) if request.method == 'POST': try: results = dict() data = json.loads(request.form.get('data')) pay_time = data.get('pay_time') cus_name = data.get('cus_name') check = data.get('check') ver_code = data.get('ver_code') money = data.get('money') # 校验参数验证激活码 if check != 'yes': results['code'] = RET.SERVERERROR results['msg'] = '请确认已收款!' return jsonify(results) pass_wd = SqlData().search_pay_code('ver_code', cus_name, pay_time) if pass_wd != ver_code: results['code'] = RET.SERVERERROR results['msg'] = '验证码错误!' return jsonify(results) status = SqlData().search_pay_code('status', cus_name, pay_time) if status != '待充值': results['code'] = RET.SERVERERROR results['msg'] = '该订单已充值,请刷新界面!' return jsonify(results) # 验证成功后,做客户账户充值 cus_id = SqlData().search_user_field_name('id', cus_name) # 判断是否需要根据输入的美元金额扣除手续费在充值 if money: money = float(money) # 更新新的充值金额 dollar_hand = SqlData().search_admin_field('dollar_hand') money = round(money / (1+dollar_hand), 2) SqlData().update_pay_money(money, cus_id, pay_time) money = SqlData().search_pay_code('top_money', cus_name, pay_time) pay_num = sum_code() t = xianzai_time() before = SqlData().search_user_field_name('balance', cus_name) user_id = SqlData().search_user_field_name('id', cus_name) # 更新首款码收款金额 pay_money = SqlData().search_pay_code('pay_money', cus_name, pay_time) url = SqlData().search_pay_code('url', cus_name, pay_time) SqlData().update_qr_money('top_money', pay_money, url) # 更新账户余额 SqlData().update_user_balance(money, user_id) # 实时查询当前余额不以理论计算为结果 balance = SqlData().search_user_field('balance', user_id) # 更新客户充值记录 SqlData().insert_top_up(pay_num, t, money, before, balance, user_id, '系统') # 更新pay_log的订单的充值状态 SqlData().update_pay_status('已充值', t, cus_id, pay_time) phone = SqlData().search_user_field_name('phone_num', cus_name) mid_phone = SqlData().search_pay_code('phone', cus_name, pay_time) # 判断是否是相同电话,是则只发送一次短信 if phone and mid_phone and phone == mid_phone: CCP().send_Template_sms(phone, [cus_name, t, money], 478898) else: # 给客户和代充值人发送短信通知 if phone: CCP().send_Template_sms(phone, [cus_name, t, money], 478898) if mid_phone: CCP().send_Template_sms(mid_phone, [cus_name, t, money], 478898) results['code'] = RET.OK results['msg'] = MSG.OK return jsonify(results) except Exception as e: logging.error(str(e)) results = dict() results['code'] = RET.SERVERERROR results['msg'] = MSG.SERVERERROR return jsonify(results)
def pay_pic(): ''' 用户注册支付姐界面 :return: ''' if request.method == 'GET': u_name = request.args.get('u_name') u_acc = request.args.get('u_acc') u_pass = request.args.get('u_pass') phone = request.args.get('phone') middle_key = request.args.get('middle_key') package = SqlData().search_reg_package() # 取出目前当前收款金额最低的收款码 qr_info = SqlData().search_qr_code('WHERE status=0') if not qr_info: url = '' else: url = '' value_list = list() for i in qr_info: value_list.append(i.get('sum_money')) value = min(value_list) for n in qr_info: money = n.get('sum_money') if value == money: url = n.get('qr_code') break context = dict() context['u_name'] = u_name context['u_acc'] = u_acc context['u_pass'] = u_pass context['phone'] = phone context['url'] = url context['middle_key'] = middle_key context['package_list'] = package return render_template('user/register_pay.html', **context) if request.method == 'POST': ''' 获取充值金额, 保存付款截图. 发送邮件通知管理员 ''' try: # 两组数据,1,表单信息充值金额,等一下客户信息 2,截图凭证最多可上传5张 # print(request.form) # print(request.files) data = json.loads(request.form.get('data')) u_name = data.get('u_name') u_acc = data.get('u_acc') u_pass = data.get('u_pass') phone = data.get('phone') middle_key = data.get('middle_key') url = json.loads(request.form.get('url')) package = json.loads(request.form.get('package')) results = {'code': RET.OK, 'msg': MSG.OK} if not request.files: results['code'] = RET.SERVERERROR results['msg'] = '请选择支付截图后提交!' return jsonify(results) data = SqlData().search_reg_money(package) reg_money = data.get('money') reg_days = data.get('days') # 判断是否是用中介的介绍链接进行注册的 middle_name = '' middle_id = 0 if middle_key: try: string = Base64Code().base_decrypt(middle_key.strip()) info_list = string.split('_') middle_id = int(info_list[0]) middle_name = SqlData().search_middle_field('name', middle_id) account = SqlData().search_middle_field('account', middle_id) if info_list[1] != middle_name or info_list[2] != account: return jsonify({'code': RET.SERVERERROR, 'msg': '请使用正确链接注册!'}) except Exception as e: logging.error(str(e)) return jsonify({'code': RET.SERVERERROR, 'msg': '请使用正确链接注册!'}) # 保存所有图片 file_n = 'file_' pic_list = list() for i in range(5): file_name = file_n + str(i+1) file_img = request.files.get(file_name) if file_img: now_time = sum_code() file_name = u_acc + "_" + now_time + str(i) + ".png" file_path = DIR_PATH.PHOTO_DIR + file_name file_img.save(file_path) pic_list.append(file_name) n_time = xianzai_time() pic_json = json.dumps(pic_list) ver_code = str(uuid.uuid1())[:6] context = "客户: " + u_acc + " , 于" + n_time + "申请注册全球付客户端账号: 金额" + str(reg_money) + "元, 有效使用期为 " + \ str(reg_days) + "天。 验证码为: " + ver_code stop_time = get_day_after(reg_days) SqlData().insert_account_reg(package, n_time, n_time, reg_money, reg_days, stop_time, u_name, u_acc, u_pass, phone, url, middle_id, middle_name, pic_json, ver_code) # 获取要推送邮件的邮箱 top_push = SqlData().search_admin_field('top_push') top_dict = json.loads(top_push) email_list = list() for i in top_dict: email_list.append(top_dict.get(i)) for p in email_list: send(context, pic_list, p) return jsonify(results) except Exception as e: logging.error(str(e)) return jsonify({'code': RET.SERVERERROR, 'msg': MSG.SERVERERROR})