当前位置: 首页 > news >正文

基于Springboot+vue实现的Cosplay论坛系统

 基于springboot+vue实现的Cosplay论坛系统  (源码+L文+ppt)4-066                

图片

2.3 系统功能分析  

Cosplay论坛系统中采用了Java的springboot框架进行开发,在数据库上选择MYSQL,在功能上Cosplay论坛系统我划分为了普通用户管理模块和管理员模块这两大部分。    

普通用户管理模块:

(1)用户注册登录:游客可以随时进入到系统中,对系统中的信息浏览,但是想要实现商品信息的收藏评论等,就必须有这个系统的账号,如果没有账号的话,可以注册成会员用户进行相关的操作,同时用户还可以对个人信息以及操作的信息进行管控。

(2)查看Cosplay论坛系统的首页信息:Cosplay论坛系统的首页信息包含了首页、帖子信息、通知公告、留言反馈。

(3)通知公告:用户点击“通知公告”菜单显示管理员在后台发布的所有的通知公告信息,可以查看通知公告详情。

(4)留言反馈:在此界面用户可以收藏、点赞和评论。

(6)个人中心:用户点击“我的账户”可以对个人资料以及密码进行更新。

(7)购物车:用户可以将感兴趣的商品加入购物车,方便后续的批量购买。用户可以在购物车中查看已添加的商品,修改商品数量、删除商品,预览订单总价等。

(8)在线客服用户可以通过在线客服功能与系统管理员或客服人员进行实时的沟通和交流。用户可以提出问题、咨询商品信息、提交退换货申请等。管理员或客服人员可以即时回复用户的消息。

(9)商品信息:用户可以浏览、搜索并查看商品的详细信息,包括商品名称、价格、库存、描述、评价等。用户可以按照商品分类进行筛选和排序,方便浏览和购买。

管理员模块:

(1)登录:管理员在后台可以输入用户名+密码进行登录,管理员的用户名和密码是在数据库中直接设定好的。

(2)系统管理:管理员点击“系统管理”菜单可以对首页展示的轮播图以及敏感词进行增删改查。    

(3)通知公告:管理员点击“通知公告”菜单可以查看到系统中的所有通知公告信息,对已经存在的通知公告,管理员可以修改,也可以添加新的通知公告或者删除通知公告。

(4)资源管理:管理员点击“资源管理”菜单能够对其下子菜单帖子信息和帖子信息的分类进行增删改查。

(5)系统用户:管理员点击“系统用户”菜单可以对系统中存在的用户进行管理,包含了管理员用户和普通用户。

(6)帖子分类:管理员可以管理帖子的分类,包括添加、编辑、删除帖子分类。可以设定每个分类的名称、描述、图标等信息,以方便用户浏览和分类帖子。

(7)帖子信息:赞情况等。可以审核帖子、删除违规内容或标记帖子为置顶、精华等特殊属性。

(8)商品分类:管理员可以管理商品的分类,包括添加、编辑、删除商品分类。可以设定每个分类的名称、描述、图标等信息,以方便用户浏览和分类商品。

(9)商品信息:管理员可以查看商品的详细信息、库存、价格等。可以上架、下架商品,编辑商品信息,处理用户的订单。

(10)留言反馈:管理员可以查看用户的留言反馈,包括问题、建议、投诉等。可以回复用户的反馈并进行管理。

 (11)订单信息:管理员可以查看用户的订单信息,包括订单状态、付款情况等。可以处理用户的退款、发货等操作。

(12)用户签到:管理员可以查看用户的签到情况,包括历史签到记录、连续签到天数等。可以补签、重置签到信息等。    

          

3 Cosplay论坛系统总体设计    

本章主要讨论的内容包括Cosplay论坛系统的功能模块设计、数据库系统设计。

3.1 系统功能模块设计  

3.1.1整体功能模块设计  

本Cosplay论坛系统是一个集信息查询、发布、管理为一体的平台,在功能上实现了前台和后台两部分的功能,根据第三章的系统功能分析,得出本Cosplay论坛系统的功能模块图,如图3-1所示。

图片

图3-1 Cosplay论坛系统功能模块图

3.1.2用户管理模块设计  

本Cosplay论坛系统是一个通过浏览器自主查询、交流的平台,用户想要参与进来,必须有账号和密码,登录后方可交流,管理员则实现对用户的管控,如下图:

3.2 数据库设计  

3.2.1 数据库概念结构设计  

在数据库概念模型设计的时候,一般都采用E-R实体图进行展示,在实体图中可以展示出数据库表中的所有字段名称,本Cosplay论坛系统中的主要的数据库E-R模型图如下图所示。

图片

图3-5普通用户E-R关系图

图3-6 cosplay论坛信息E-R关系图

                        

图3-7 帖子资讯信息E-R关系图

图3-8 公告信息E-R关系图

3.2.2 数据库逻辑结构设计  

通过上一小节中Cosplay论坛系统中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。

表名:cart

功能:购物车表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                            

主键

    主键 

                            

addtime        

timestamp

                            

创建时间

                            

CURRENT_TIMESTAMP

tablename

varchar

200

商品表名

                            

shangpinxinxi

userid

bigint

                            

用户id

                            

                            

goodid

bigint

                            

商品id

                            

                            

goodname

varchar

200

商品名称

                            

                            

picture

longtext

4294967295

图片

                            

                            

buynumber

int

                            

购买数量

                            

                            

price

double

                            

单价

                            

                            

goodtype

varchar

200

商品类型

                            

                            

                    

                    

                    

                    

表名:shangpinxinxi

功能:商品信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                            

主键

    主键 

                            

addtime        

timestamp

                            

创建时间

                            

CURRENT_TIMESTAMP

shangpinbianhao

varchar

200

商品编号

                            

                            

shangpinmingcheng

varchar

200

商品名称

                            

                            

shangpinfenlei

varchar

200

商品分类

                            

                            

pinpai

varchar

200

品牌

                            

                            

guige

varchar

200

规格

                            

                            

shangpinxiangqing

longtext

4294967295

商品详情

                            

                            

tupian

longtext

4294967295

图片

                            

                            

onelimittimes

int

                            

单限

                            

                            

alllimittimes

int

                            

库存

                            

                            

thumbsupnum

int

                            

                            

0

crazilynum

int

                            

                            

0

clicktime        

datetime

                            

最近点击时间

                            

                            

discussnum

int

                            

评论数

                            

0

price

double

                            

价格

                            

                            

storeupnum

int

                            

收藏数

                            

0

                    

                    

                    

                    

表名:systemintro

功能:关于我们

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                            

主键

    主键 

                            

addtime

timestamp

                            

创建时间

                            

CURRENT_TIMESTAMP

title

varchar

200

标题

                            

                            

subtitle

varchar

200

副标题

                            

                            

content

longtext

4294967295

内容

                            

                            

picture1

longtext

4294967295

图片1

                            

                            

picture2        

longtext

4294967295

图片2

                            

                            

picture3

longtext

4294967295

图片3

                            

                            

                    

                    

                    

                    

表名:address

功能:地址

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                            

主键

    主键 

                            

addtime

timestamp

                            

创建时间

                            

CURRENT_TIMESTAMP

userid

bigint

                            

用户id

                            

                            

address

varchar

200

地址

                            

                            

name

varchar

200

收货人

                            

                            

phone

varchar

200

电话

                            

                            

isdefault

varchar

200

是否默认地址[是/否]

                            

                            

                        

                    

                    

                    

表名:shangpinfenlei

功能:商品分类

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                            

主键

    主键 

                            

addtime

timestamp

                            

创建时间

                            

CURRENT_TIMESTAMP

shangpinfenlei

varchar

200

商品分类

                            

                            

image

longtext

4294967295

图片

                            

                            

                    

                    

                    

                    

表名:aboutus

功能:关于我们

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                            

主键

    主键 

                            

addtime

timestamp

                            

创建时间

                            

CURRENT_TIMESTAMP        

title

varchar

200

标题

                            

                            

subtitle

varchar

200

副标题

                            

                            

content

longtext

4294967295

内容

                            

                            

picture1

longtext

4294967295

图片1

                            

                            

picture2

longtext

4294967295

图片2

                            

                            

picture3

longtext

4294967295

图片3

                            

                            

                    

                    

                    

                    

表名:orders

功能:订单

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                            

主键

    主键 

                            

addtime

timestamp

                            

创建时间

                            

CURRENT_TIMESTAMP        

orderid

varchar

200

订单编号

                            

                            

tablename

varchar

200

商品表名

                            

shangpinxinxi

userid

bigint

                            

用户id

                            

                            

goodid

bigint

                            

商品id

                            

                            

goodname

varchar

200

商品名称

                            

                            

picture

longtext

4294967295

商品图片

                            

                            

buynumber

int

                            

购买数量

                            

                            

price

double

                            

价格

                            

0

total

double

                            

总价格

                            

0

type

int

                            

支付类型

                            

1

status

varchar

200

状态

                            

                            

address

varchar

200

地址

                            

                            

tel

varchar

200

电话

                            

                            

consignee

varchar

200

收货人

                            

                            

logistics

longtext

4294967295        

物流

                            

                            

remark

varchar

200

备注

                            

                            

goodtype

varchar

200

商品类型

                            

                            

sfsh

varchar

200

是否审核

                            

                            

shhf

longtext

4294967295

审核回复

                            

                            

role

varchar

200

用户角色

                            

                            

                    

                    

                    

                    

表名:newstype

功能:通知公告分类

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                            

主键

    主键 

                            

addtime

timestamp

                            

创建时间

                            

CURRENT_TIMESTAMP

typename

varchar

200

分类名称

                            

                            

                    

                    

                    

                        

表名:news

功能:通知公告

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                            

主键

    主键 

                            

addtime

timestamp

                            

创建时间

                            

CURRENT_TIMESTAMP

title

varchar

200

标题

                            

                            

introduction

longtext

4294967295

简介

                            

                            

typename

varchar

200

分类名称

                            

                            

name

varchar

200

发布人

                            

                            

headportrait

longtext

4294967295

头像

                            

                            

clicknum

int

                            

点击次数

                            

0

clicktime

datetime

                            

最近点击时间

                            

                            

thumbsupnum

int

                            

                            

0

crazilynum

int

                            

                            

0

storeupnum        

int

                            

收藏数

                            

0

picture

longtext

4294967295

图片

                            

                            

content

longtext

4294967295

内容

                            

                            

                    

                    

                    

                    

表名:messages

功能:留言反馈

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                            

主键

    主键 

                            

addtime

timestamp

                            

创建时间

                            

CURRENT_TIMESTAMP

userid

bigint

                            

留言人id

                            

                            

username

varchar

200

用户名

                            

                            

avatarurl

longtext

4294967295

头像

                            

                            

content

longtext

4294967295        

留言内容

                            

                            

cpicture

longtext

4294967295

留言图片

                            

                            

reply

longtext

4294967295

回复内容

                            

                            

rpicture

longtext

4294967295

回复图片

                            

                            

                    

                    

                    

                    

表名:yonghu

功能:用户

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                            

主键

    主键 

                            

addtime

timestamp

                            

创建时间

                            

CURRENT_TIMESTAMP

yonghuzhanghao

varchar

200

用户账号

                            

                            

mima

varchar

200

密码

                            

                            

yonghuxingming        

varchar

200

用户姓名

                            

                            

touxiang

longtext

4294967295

头像

                            

                            

xingbie

varchar

200

性别

                            

                            

nianling

int

                            

年龄

                            

                            

shouji

varchar

200

手机

                            

                            

money

double

                            

余额

                            

0

                    

                    

                    

                    

表名:discusstiezixinxi

功能:帖子信息评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                            

主键

    主键 

                            

addtime

timestamp

                            

创建时间

                            

CURRENT_TIMESTAMP

refid

bigint

                            

关联表id

                            

                            

userid

bigint

                            

用户id

                            

                            

avatarurl

longtext

4294967295        

头像

                            

                            

nickname

varchar

200

用户名

                            

                            

content

longtext

4294967295

评论内容

                            

                            

reply

longtext

4294967295

回复内容

                            

                            

                    

                    

                    

                    

表名:users

功能:用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                            

主键

    主键 

                            

username

varchar

100

用户名

                            

                            

password

varchar

100

密码

                            

                            

image

varchar

200

头像

                            

                            

role

varchar

100

角色

                            

管理员

addtime

timestamp

                            

新增时间

                            

CURRENT_TIMESTAMP

                        

                    

                    

                    

表名:discussshangpinxinxi

功能:商品信息评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                            

主键

    主键 

                            

addtime

timestamp

                            

创建时间

                            

CURRENT_TIMESTAMP

refid

bigint

                            

关联表id

                            

                            

userid

bigint

                            

用户id

                            

                            

avatarurl

longtext

4294967295

头像

                            

                            

nickname

varchar

200

用户名

                            

                            

content

longtext

4294967295

评论内容

                            

                            

reply

longtext

4294967295

回复内容

                            

                            

                    

                    

                    

                        

表名:token

功能:token表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                            

主键

    主键 

                            

userid

bigint

                            

用户id

                            

                            

username

varchar

100

用户名

                            

                            

tablename

varchar

100

表名

                            

                            

role

varchar

100

角色

                            

                            

token

varchar

200

密码

                            

                            

addtime

timestamp

                            

新增时间

                            

CURRENT_TIMESTAMP

expiratedtime

timestamp

                            

过期时间

                            

CURRENT_TIMESTAMP

                    

                    

                    

                    

表名:config

功能:配置文件    

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                            

主键

    主键 

                            

name

varchar

100

配置参数名称

                            

                            

value

varchar

100

配置参数值

                            

                            

url

varchar

500

url

                            

                            

                    

                    

                    

                    

表名:tiezixinxi

功能:帖子信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                            

主键

    主键 

                            

addtime

timestamp

                            

创建时间

                            

CURRENT_TIMESTAMP

zhuti

varchar

200

主题

                            

                            

jianjie

varchar

200

简介

                            

                            

tiezifenlei

varchar

200

帖子分类

                            

                            

neirong

longtext

4294967295

内容

                            

                            

fengmian        

longtext

4294967295

封面

                            

                            

yonghuzhanghao

varchar

200

用户账号

                            

                            

yonghuxingming

varchar

200

用户姓名

                            

                            

faburiqi

date

                            

发布日期

                            

                            

beizhu

varchar

200

备注

                            

                            

sfsh

varchar

200

是否审核

                            

待审核

shhf

longtext

4294967295

审核回复

                            

                            

thumbsupnum

int

                            

                            

0

crazilynum

int

                            

                            

0

clicktime

datetime

                            

最近点击时间

                            

                            

clicknum

int

                            

点击次数

                            

0

discussnum

int

                            

评论数

                            

0

                    

                    

                    

                    

表名:chat

功能:在线客服    

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                            

主键

    主键 

                            

addtime

timestamp

                            

创建时间

                            

CURRENT_TIMESTAMP

userid

bigint

                            

用户id

                            

                            

adminid

bigint

                            

管理员id

                            

                            

ask

longtext

4294967295

提问

                            

                            

reply

longtext

4294967295

回复

                            

                            

isreply

int

                            

是否回复

                            

                            

表名:tiezifenlei

功能:帖子分类

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                            

主键

    主键 

                            

addtime

timestamp

                            

创建时间

                            

CURRENT_TIMESTAMP        

tiezifenlei

varchar

200

帖子分类

                            

                            

image

longtext

4294967295

图片

                            

                            

                    

表名:storeup

功能:收藏表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                            

主键

    主键 

                            

addtime

timestamp

                            

创建时间

                            

CURRENT_TIMESTAMP

userid

bigint

                            

用户id

                            

                            

refid

bigint

                            

商品id

                            

                            

tablename

varchar

200

表名

                            

                            

name

varchar

200

名称

                            

                            

picture

longtext

4294967295        

图片

                            

                            

type

varchar

200

类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注)

                            

1

inteltype

varchar

200

推荐类型

                            

                            

remark

varchar

200

备注

                            

                            

                    

4 Cosplay论坛系统主要详细设计与实现  

4.1用户功能模块  

4.1.1 前台首页界面  

当进入Cosplay论坛系统的时候,可以看到系统中的导航栏,搜索框,轮播图等信息,其主界面展示如下图4-1所示。    

图片

图4-1 首页界面图

/**

4.1.2登录界面  

当注册完成后就可以登录了,输入用户名+密码,通过滑动图片验证后,点击“登录”按钮进行登录,登录界面如下图4-2所示。

图片

图4-2管理员登录界面图

登录关键代码如下:

 /**    

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Maplogin(@RequestBody Mapdata, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

                

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

                

        List resultList = null;

        Map        <String,                  </String,String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }    

                

        User byUsername = (User) resultList.get(0);

                

                

        Map        <String,                  </String,String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

                

        UserGroup userGroup = (UserGroup) groupList.get(0);

                

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();

            String res = String.valueOf(service.runCountSql(sql).getSingleResult());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

                

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

                

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();    

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            tokenService.save(accessToken);

                

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

}

                

4.1.3通知公告界面  

用户点击“通知公告”菜单显示管理员在后台发布的所有的通知公告信息,可以查看通知公告详情。界面如下图4-3所示。

图片

图4-3通知公告界面图

4.1.4帖子信息界面  

用户可以发布帖子、评论其他用户的帖子、点赞、收藏等。用户可以参与讨论、分享心得、展示自己的Cosplay作品。用户可以关注其他用户,查看他们的动态和帖子。在此界面用户可以收藏、点赞和评论。界面如下图4-5所示。    

图片

图4-4帖子信息界面图

4.2管理员功能模块  

4.2.1通知公告管理界面  

管理员点击“通知公告管理”菜单可以查看到系统中的所有通知公告信息,对已经存在的通知公告,管理员可以修改,也可以添加新的通知公告或者删除通知公告。界面如下图4-5所示。    

图片

图4-5通知公告管理界面图

通知公告管理关键代码如下:

@RequestMapping("/get_obj")

    public Mapobj(HttpServletRequest request) {

        List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));

        if (resultList.size() > 0) {

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("obj",resultList.get(0));

            return success(jsonObject);

        } else {

            return success(null);

        }

    }

                

4.2.2 用户签到管理界面  

管理员可以查看用户的签到情况,包括历史签到记录、连续签到天数等。可以补签、重置签到信息等。界面如下图4-6所示。    

图片

图4-6用户签到管理界面图

4.2.3商品信息管理界面  

管理员可以查看商品的详细信息、库存、价格等。可以上架、下架商品,编辑商品信息,处理用户的订单。界面如下图4-10所示。

图片

图4-7商品信息管理界面图 

点击领取源码


http://www.mrgr.cn/news/30948.html

相关文章:

  • SwiftData 共享数据库在 App 中的改变无法被 Widgets 感知的原因和解决
  • 新160个crackme - 060-snake
  • 条件编译代码记录
  • Nomad Web服务终于成熟了!
  • 学习使用Docker
  • Tableau Einstein 重磅亮相,融合 AI 与数据云提供统一且无缝的分析新体验!
  • 需求3:照猫画虎
  • 第314题|参考!如何做到【一题多解】|武忠祥老师每日一题
  • Linux操作系统 进程(3)
  • 免密执行远程服务命令
  • Revit学习记录-版本2018【持续补充】
  • Streamlit:使用 Python 快速开发 Web 应用
  • 我的数据库旅程:从迷茫到觉醒
  • 1332. 删除回文子序列 脑筋急转弯
  • 《俄语翻译通》app一款专业的俄文OCR识别器,学俄语不会颤音怎么办?《俄语翻译通》可以帮助你!
  • Windows用管理员运行cmd命令后无法切换盘符
  • 23个Python在自然语言处理中的应用实例
  • TiDB 中的自增主键有哪些使用限制,应该如何避免?
  • HCL Domino 14.5EAP1快问快答
  • 解决Filament中使用ARCore出现绿色闪屏的问题