积分商城功能表设计结构以及积分功能模块

积分商城功能表结构设计

1、会员积分记录表(qing_score)
来自的用户user_id,签到和兑换记录字段score(签到为正值,兑换为负值),积分信息info

CREATE TABLE `qing_score` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `user_id` int(10) NOT NULL,
  `score` int(10) NOT NULL,
  `time` int(10) NOT NULL,
  `info` varchar(30) DEFAULT NULL,
  `source` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1签到2推荐',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=72 DEFAULT CHARSET=utf8 COMMENT='会员积分';

2、积分兑换商品表qing_score_goods
记录兑换的商品需要多少积分,字段score表示需要的积分数量才能兑换的商品

CREATE TABLE `qing_score_goods` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(110) NOT NULL,
  `thumb` varchar(110) NOT NULL,
  `description` varchar(100) DEFAULT NULL,
  `content` text,
  `time` int(10) NOT NULL,
  `score` int(10) NOT NULL,
  `listorder` int(10) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='积分商品表';

在这里插入图片描述

3、积分换取商品记录表score_record
user_id记录哪个用户,goode_id记录哪个商品,score使用的积分数

CREATE TABLE `qing_score_record` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `score` int(11) NOT NULL,
  `goods_id` int(11) NOT NULL,
  `status` int(11) NOT NULL DEFAULT '1',
  `empress` varchar(100) DEFAULT NULL,
  `time` int(11) NOT NULL,
  `user_id` int(10) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT='积分兑换记录';

在这里插入图片描述

会员签到功能实现

1、检测已登录的该用户今天是否签到,已经签到则今天不再签到
2、今天未签到则插入score积分记录表中

//会员签到
    public function sign(){
    	//验证用户是否登录
        $sessionUserData=$this->isLogin();
        //先检测今天是否签到
        $scoreData=Db::name('score')->where('user_id',$sessionUserData['id'])->whereDay('time')->where('source',1)->order('id desc')->find();
        if(!empty($scoreData)){
            return alert('你今天已经签到了','index',5);
        }

        $res=Db::name('score')->insert([
            'user_id'=>$sessionUserData['id'],
            'time'=>time(),
            'score'=>10,
            'info'=>'签到赚取积分'
        ]);
        if($res){
            return alert('签到成功','index',6);
        }else{
            return alert('签到失败','index',5);
        }
    }

积分换购流程

1、积分商品详情
1)根据id查找积分商品
2)统计该用户积分

实现代码:

public function score_goods_detail(){
        $sessionUserData=$this->isLogin();
        $id=input('id');
       //1、根据id查找积分商品
        $scoreGoodsData=Db::name('score_goods')->find($id);
        if(empty($scoreGoodsData)){
            return alert('没有改商品','score_shop',5);
        }

        //2、统计该用户积分
        $total_socre=Db::name('score')->where('user_id',$sessionUserData['id'])->sum('score');
        return view('',[
            'scoreGoodsData'=>$scoreGoodsData,
            'total_socre'=>$total_socre,
            'left_menu'=>32
        ]); 
    }

2、积分换购
1)根据id查找积分商品
2)统计用户积分并判断该用户积分是否大于积分商品里选中的商品的积分
3)开启异常捕捉,积分换购的积分换取商品记录表score_record插入一条记录,同时插入会员积分记录表负数积分信息

实现代码:

public function score_exchange(){
        $sessionUserData=$this->isLogin();
        $id=input('id');
        //1、根据id查找积分商品
        $scoreGoodsData=Db::name('score_goods')->find($id);
        if(empty($scoreGoodsData)){
            return json(['status'=>-1,'msg'=>'没有该商品']);
        }
        //2、统计用户积分并判断该用户积分是否大于积分商品里选中的商品的积分
        $total_socre=Db::name('score')->where('user_id',$sessionUserData['id'])->sum('score');
        if($total_socre>$scoreGoodsData['score']){
        //3、开启异常捕捉,积分换购的积分换取商品记录表score_record插入一条记录,同时插入会员积分记录表负数积分信息
            try{
                 //积分换购表
                Db::name('score_record')->insert([
                    'user_id'=>$sessionUserData['id'],
                    'score'=>$scoreGoodsData['score'],
                    'time'=>time(),
                    'goods_id'=>$id
                ]);

                Db::name('score')->insert([
                    'user_id'=>$sessionUserData['id'],
                    'score'=>0-$scoreGoodsData['score'],
                    'time'=>time(),
                    'info'=>'商品换购'
                ]);
            }catch (\Exception $e){
                return json(['status'=>-1,'msg'=>'服务端异常,换购失败']);
            }
           

            return json(['status'=>1,'msg'=>'商品换购成功']);

        }else{
            return json(['status'=>-1,'msg'=>'积分不足']);
        }

    }
  • 6
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
游刃有余地控制复杂性设计高效的企业级解决方案   在一开始就要做出正确的架构决策,从而提高产品的质量和可靠性。《Microsoft .NET企业级应用架构设计》由两位企业级系统开发专家执笔,会告诉你如何用各种模式和技术来控制项目的复杂性,让系统更易于编写、维护和升级。   读者会得到实用的架构方面的指导,包括:   ·在早期设计师就考虑到可测试性、可维护性和安全性   ·通过面向服务的接口暴露业务逻辑   ·选择最佳的模式来组织业务逻辑和行为   ·了解并使用模式来分离Ul和现层逻辑   ·深入探究数据访问层的模式和最佳实践   ·为对象和数据之间的转换提供良好的解决方案   ·降低开发工作量,避免过度设计,建造更强壮的系统 第1章 当代的架构师和架构   1.1 软件架构到底是什么   1.1.1 将架构原则应用至软件中   1.1.2 什么属于架构,什么不属于   1.1.3 架构与决定相关   1.1.4 软件的需求和质量   1.2 架构师到底是什么   1.2.1 架构师的职责   1.2.2 你知道有多少种架构师吗   1.2.3 对架构师的一些常见误解   1.3 软件开发流程概览   1.3.1 软件生命周期   1.3.2 软件开发模型   1.4 小结   1.5 本章的墨菲法则 第2章 UML必要知识   2.1 uML概览   2.1.1 建模语言的出现动机和历史   2.1.2 UML的模式和使用方法   2.2 UML图   2.2.1 用例图   2.2.2 类图   2.2.3 顺序图   2.3 小结   2.4 本章的墨菲法则 第3章 设计原则和模式   3.1 基本设计原则   3.1.1 警钟因何而鸣   3.1.2 结构设计   3.1 3分离关注点   3.2 面向对象设计   3.2.1 面向对象基本设计原则   3.2.2 高级原则   3.3 从原则到模式   3.3.1 模式究竟是什么   3.3.2 模式vs.惯用法   3.3.3 依赖注入   3.4 在设计时就考虑需求   3.4.1 可测试性   3.4.2 安全性   3.5 从对象到方面   3.5.1 面向方面编程   3.5.2 AOP实战   3.6 小结   3.7 本章的墨菲法则   第二部分 系统设计 第4章 业务层   4.1 业务逻辑层究竟是什么   4.1.1 业务层剖析   4.1.2 业务逻辑层的位置   4.1.3 业务层和其他层   4.1.4 创建业务层的模式   4.2 事务脚本模式   4.2.1 事务脚本模式概述   4.2.2 模式实战   4.3 模块模式   4.3.1 模块模式概述   4.3.2 模块模式实战   4.4 活动记录模式   4.4.1 活动记录模式概述   4.4.2 活动记录模式实战   4.5 领域模型模式   4.5.1 领域模型模式概述   4.5.2 领域模型模式实战   4.6 小结   4.7 本章的墨菲法则 第5章 服务层   5.1 服务层究竟是什么   5.1.1 服务层的职责   5.1.2 究竟什么是服务   5.1.3 服务层中的服务   5.2 服务层模式实战   5.2.1 服务层模式概览   5.2.2 服务层模式实战   5.3 相关模式   5.3.1 远程门面模式   5.3.2 数据迁移对象模式   5.3.3 适配器模式   5.3.4 数据迁移对象和程序集   5.4 面向服务架构   5.4.1 SOA的原则   5.4.2 SOA不是什么   5.4.3 SOA和服务层   5.5 富Web前端的特例   5.5.1 重构服务层   5.5.2 设计AJAX服务层   5.5.3 实现AJAX服务层的安全性   5.6 小结   5.7 本章的墨菲法则 第6章 数据访问层   6.1 数据访问层究竟是什么   6.1.1 数据访问层的功能需求   6.1.2 数据访问层的职责   6.1.3 数据访问层和其他层   6.2 设计你自己的数据访问层   6.2.1 数据访问层的契约   6.2.2 插件模式   6.2.3 控制反转模式   6.2.4 为数据上下文打下基础   6.3 雕琢你自己的数据访问层   6.3.1 实现持久化层   6.3.2 实现查询服务   6.3.3 实现事务性语义   6.3.4 实现唯一性和标识映射   6.3.5 实现并发   6.3.6 实现延迟加载   6.4 使用O/RM工具增强数据访问层   6.4.1 对象/关系映射器   6.4.2 使用O/RM工具创建数据访问层   6.5 是否应该使用存储过程   6.5.1 有关存储过程的传言   6.5.2 那么动态SQL呢   6.6 小结   6.7 本章的墨菲法则 第7章 现层   7.1 用户界面和现层逻辑   7.1.1 现层的职责   7.1.2 用户界面的职责   7.1.3 现层的常见误区   7.2 现层的演化   7.2.1 模型—视图—控制器模式   7.2.2 模型—视图—展示器模式   7.2.3 PresentationModel模式   7.2.4 选择用户界面模式   7.3 现层的设计   7.3.1 视图中要显示什么数据   7.3.2 处理用户操作   7.4 现层的惯用设计   7.4.1 Web现层中的MVP   7.4.2 Windows平台中的MVP   7.5 小结   7.6 本章的墨菲法则   附录 A Northwind Starter Kit   最后的思考
6 电子商务会员与积分系统设计 程序设计4大作业 电子商务会员与积分系统设计 文件状态: [ ] 草稿 [ ] 正式发布 [ ]正在修改 文件标识: 电子商务会员与积分系统设计 当前版本: Bata-001 作 者: 修改历史 版本/状态 作者 参与者 起止日期 备注 初始版本 未知 未知 2015.4.30-- 无 电子商务会员与积分系统设计全文共34页,当前为第1页。 电子商务会员与积分系统设计全文共34页,当前为第1页。 目 录 1.引言 .4 1.1编写目的 4 1.2项目背景 4 1.3定义 4 1.4参考资料 4 2.总体设计 4 2.1系统概述 5 2.2总体设计方案 5 2.3需求规定 5 2.4系统总体结构 7 2.5功能需求与程序的关系 7 3.接口设计 10 3.1界面框架设计 5 4.系统数据结构设计 10 4.1概念结构设计 8 4.2物理结构设计 9 4.3数据设计 11 4.3.1会员 11 4.3.2订单 12 4.3.3天猫积分 13 4.3.4京东积分 13 4.3.5当当网积分 14 4.3.6积分互换 14 4.3.7优惠券 15 4.3.8签到 15 4.3.9商品信息 15 4.3.10管理员 16 4.3.11系统日志 16 4.3.12公告 16 4.3.13反馈意见 16 4.4数据字典 16 5.约束和假定 19 6.模块设计 20 6.1功能设计说明 20 6.2程序描述 20 7.系统出错设计 20 7.1出错信息 20 7.2补救措施 20 7.3系统维护设计 20 8.系统安全性设计 21 9.服务器要求 22 电子商务会员与积分系统设计全文共34页,当前为第2页。 电子商务会员与积分系统设计全文共34页,当前为第2页。 1引言 1.1编写目的 本文档的目的是阐述电子商务会员与积分系统的概要和详细设计。该设计说明书编写的目的在于全面说明电子商务会员与积分系统的设计考虑,包括功能分配、物理逻辑结构、体系结构,以及模块设计和程序的描述,为开发该系统提供基础。本说明书的预期读者为系统设计人员、软件开发人员、项目评审人员。 1.2项目背景 随着互联网技术和网络经济的迅猛发展,为满足用户的需求,电子商务网站消费已经成为了用户的最佳选择之一。会员管理及会员特权管理成为了电子商务网站管理的一项重点和难点,怎么平衡好会员权益以及留住顾客成为了电子商务网站的新焦点。单纯的推出促销活动已经越来越难以满足用户的要求和提高用户体验。电子商务会员与积分系统将会员与积分管理巧妙地融合在一起,专门针对各大电子商务网站对会员管理、会员权利管理的需求而开发。 电子商务会员与积分系统是一种典型的信息管理系统,信息系统的开发主要包括:数据库建立、数据库维护以及数据库的更新。内容涉及用户注册,个人信息查询,订单查询,积分查询,商品查询,管理员管理。 1.3参考资料 《电子商务会员与积分系统用户需求说明书》 电子商务会员与积分系统设计全文共34页,当前为第3页。电子商务系统,如:返利网、京东商城、中国平安万里通 电子商务会员与积分系统设计全文共34页,当前为第3页。 2总体设计 2.1系统概述 电子商务会员与积分系统为会员提供个人信息查询与赚取积分、花积分积分互换、不同级别会员特权等特色积分服务,用户通过浏览器访问该系统。系统主要用户群为使用电子商务平台购买商品的用户,业务管理员和系统管理员。 2.2总体设计方案 本系统采用流行的B/S结构模式。系统的分析设计采用面向对象的技术,应用Rational rose、PowerDesigner工具进行辅助设计。 2.3需求规定 说明对本系统的主要的输入输出、处理的功能性要求,现简述如下: 该系统的主要功能有:用户注册,会员登录,会员基本信息,会员找回密码、修改密码,会员赚积分,会员花积分积分互换,不同会员级别特权,会员管理订单,会员足迹;业务管理员管理积分兑换商品,业务管理员管理积分,业务管理员管理订单交易;系统管理员管理会员,系统管理员管理权限,系统管理员发布公告,系统管理员查询反馈意见、投诉意见;系统自动升级会员,系统帮助中心,关于我们信息。 2.3.1会员功能需求 1.会员登录与退出:用户可使用已注册成功的账号和正确的密码登录,退出登录。 2.会员基本信息:已成功登录的会员可以进行个人中心查询个人信息。 3.会员找回密码、修改密码:当会员忘记密码时可通过找回密码功能重置自己的密码,也可在会员完善资料中修改自己的密码。 4.会员赚积分:会员完善个人全部信息资料可获得积分;每日签到得积分(每日只可获得一次积分)。 5.会员花积分:在网站中可使用全积分兑换商品;使用积分充值话费、充值Q币;使用积分兑换优惠券。 电子商务会员与积分
Java是当前非常流行且广泛应用的一种编程语言,它拥有良好的兼容性和可移植性,并已经成为重要的企业级开发语言。而积分商城是比较常见的电商模式,将商城积分系统相结合,用户可以通过消费获取积分,再用积分换取商品,是一种比较优秀的促销方式。 Java制作积分商城毕设,首先需要了解Java的基本语法和相关技术,如JavaEE、Spring、Mybatis等。并需要清楚了解积分商城的基本设计理念、系统架构和功能模块。其次,需要对数据库设计有深入的了解,包括数据结构、SQL语句编写等。同时,还需要具备前端编程的技术,如HTML、CSS、JavaScript等,来实现积分商城的前端界面、交互等。 Java制作积分商城毕设的流程一般分为需求分析、设计、编码、测试和部署。首先是需求分析,明确项目目的、用户需求、功能模块、数据结构等。然后进行系统设计,包括架构设计、数据库设计、系统流程设计等。接着进行编码,根据设计文档进行编码,运用Java相关技术实现各个功能模块,同时充分考虑代码规范和可维护性。之后进行测试,对项目进行黑盒测试、白盒测试以及集成测试等,检查系统的正确性和稳定性。最后进行部署,将项目发布到服务器上进行实际应用,并对后续的维护和优化进行规划。 Java制作积分商城毕设需要具备一定的编程技能和项目开发经验,同时需要对Java技术有深入的了解,对数据库设计和前端开发也需要有基本的掌握。在项目开发中需要注重代码质量和系统的可靠性,在测试和部署后需要对项目进行充分测试,保证其能够稳定运行并满足用户需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值