作者主页: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)

五、论文参考

在这里插入图片描述

结语

大家可以帮忙点赞、收藏、关注、评论啦~
源码获取:私信我

精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐