【大数据+可视化】基于Python的银行信用卡用户的数仓系统
亮点:大数据+可视化用户:商品信息推荐、购物车、我的订单、公告信息、;管理员:用户管理、信用卡数据管理(可导入)、商品数据管理(可导入)、商品信息管理、公告信息管理、订单管理、可视化看板。
·
✨作者主页:IT研究室✨
个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。
☑文末获取源码☑
精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目
一、开发环境
- 开发语言:Python
- 数据库:Hive、MySQL
- 系统架构:B/S
- 后端:Spark、Django
- 前端:Vue
二、系统功能模块
- 角色:用户、管理员
- 功能:
用户:
商品信息推荐、购物车、我的订单、公告信息、;
管理员:
用户管理、信用卡数据管理(可导入)、商品数据管理(可导入)、商品信息管理、公告信息管理、订单管理、可视化看板。
三 、系统界面展示
四、部分代码设计
class defaultOp(BaseOpration):
def __init__(self):
BaseOpration.__init__(self)
self.con = get_redis_connection("default")
class sessionOp(BaseOpration):
def __init__(self):
BaseOpration.__init__(self)
self.con = get_redis_connection("session")
class isworkingOp(BaseOpration):
def __init__(self):
BaseOpration.__init__(self)
self.con = get_redis_connection("isworking")
self.mob = serMobile()
def formatter_info(self, info):
con = dict()
con["mobile"] = info.pop("phoneid")
con["time"] = t.get_time(info.get("time"))
con["lnglat"] = t.getLocation(info.pop("location"))
address = t.getaddress(con["lnglat"])
if address is 0:
address = {
'status': 1,
'district': 94,
'formatted_address': "",
"data_from": "",
"adcode": 520000
}
con["address"] = address
return (con.get("mobile"), con)
def list_push(self, k, v):
push_dict = v
mobile = push_dict.get("mobile")
if self.mob.is_mobile_exit(mobile):
self.con.lpush(k, json.dumps(push_dict))
class timeOp(BaseOpration):
def __init__(self):
BaseOpration.__init__(self)
self.con = get_redis_connection("time")
class broadcastOp(BaseOpration):
def __init__(self):
BaseOpration.__init__(self)
self.con = get_redis_connection("broadcast")
def formatter_scroll_info(self, info):
"""
格式化轮播表数据
:param info:
:return:
"""
content = list()
content.append(info.get("time"))
content.append(t.freq_sql_to_interface(info.get("freq")))
content.append(info.get("category").name)
content.append(info.get("address"))
return content
def formatter_heatmap_info(self, info):
"""
格式化热力图数据
:param info:
:return:
"""
content = dict()
content["time"] = info.get("time")
lnglat = info.get("lnglat").split(",")
content["lng"] = lnglat[0]
content["lat"] = lnglat[1]
content["count"] = 1
return content
def formatter_scroll_info_from_ser(self, info):
"""
格式化轮播表数据,数据来源为序列化器
:param info:
:return:
"""
content = list()
content.append(info.get("time"))
content.append(info.get("freq"))
content.append(info.get("category__name"))
content.append(info.get("address"))
return content
class brotimeoutOp(BaseOpration):
def __init__(self):
BaseOpration.__init__(self)
self.con = get_redis_connection("brotimeout")
class chartOp(BaseOpration):
def __init__(self):
BaseOpration.__init__(self)
self.con = get_redis_connection("chart")
class massmarkOp(BaseOpration):
def __init__(self):
BaseOpration.__init__(self)
self.con = get_redis_connection("massmark")
def formatter_data_from_ser(self, info):
"""
用序列化器查询出的数据进行组织
:param info:
:return:
"""
content = dict()
lnglat = info.get("lnglat")
content["time"] = info.get("time")
content["address"] = info.get("address")
content["category"] = info.get("category__name")
content["freq"] = info.get("freq")
return (lnglat, content)
def formmater_data(self, info):
"""
处理数据
:param content:
:return:
"""
content = dict()
lnglat = info.get("lnglat")
content["time"] = info.get("time")
content["address"] = info.get("address")
content["category"] = info.get("category").name
content["freq"] = t.freq_sql_to_interface(info.get("freq"))
return (lnglat, content)
五、论文参考
结语
大家可以帮忙点赞、收藏、关注、评论啦~
源码获取:私信我
更多推荐
所有评论(0)