博主介绍:全网个人号和企业号粉丝40W+,每年辅导几千名大学生较好的完成毕业设计,专注计算机软件领域的项目研发,不断的进行新技术的项目实战
⭐进主页热门专栏推荐订阅⭐ 订阅收藏起来,防止下次找不到
千套Java / PHP / nod.js / asp.net/ Python等项目实战更新中~
百套小程序APP项目实战更新中~
有需求的各位可以先收藏起来,还有大家在毕设选题,开题报告有疑惑的都可以找我,给你参考意见,需要开题模板的可以私信留言告诉我
❤️文末获取源码联系❤️ ⚠️一定要先收藏⚠️
4 软件功能模块设计
宠物美容机构CRM系统采用了结构化开发的方法。这种开发方法的优点是控制性比较强,开发过程中采用了结构化和模块化的设计思想,自顶向下,从总体到部分,合理划分系统的结构和模块[11]。结构化开发时使用模块式开发,各模块之间互不影响,方便系统的开发与管理。 网站总体功能如下图所示:
图 4-1 宠物美容机构CRM系统总体功能模块图
在每一个系统中数据库有着非常重要的作用,数据库的设计得好将会增加系统的效率以及系统各逻辑功能的实现。所以数据库的设计我们要从系统的实际需要出发,才能使其更为完美的符合系统功能的实现。
4.1.1 概念模型设计概念模型是对现实中的问题出现的事物的进行描述,ER图是由实体及其关系构成的图,通过E-R图可以清楚地描述系统涉及到的实体之间的相互关系。
4.2 系统数据表设计
根据E-R得出数据库包涵了以下几张数据表来实现了对数据库的存储、
调用。
表4-1:选择服务
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
xuanzebianhao
varchar
200
选择编号
fuwumingcheng
varchar
200
服务名称
fuwuleixing
varchar
200
服务类型
jiage
varchar
200
价格
meirongshizhanghao
varchar
200
美容师账号
meirongshixingming
varchar
200
美容师姓名
xuanzeshijian
date
选择时间
yonghuzhanghao
varchar
200
用户账号
yonghuxingming
varchar
200
用户姓名
dianhuahaoma
varchar
200
电话号码
表4-2:服务评价
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
fuwubianhao
varchar
200
服务编号
fuwumingcheng
varchar
200
服务名称
fuwuleixing
varchar
200
服务类型
dafen
int
打分(分)
fuwupingjia
varchar
200
服务评价
pingjiashijian
date
评价时间
meirongshizhanghao
varchar
200
美容师账号
meirongshixingming
varchar
200
美容师姓名
yonghuzhanghao
varchar
200
用户账号
yonghuxingming
varchar
200
用户姓名
表4-3:用户表
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
username
varchar
100
用户名
password
varchar
100
密码
role
varchar
100
角色
管理员
addtime
timestamp
新增时间
CURRENT_TIMESTAMP
表4-4: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
表4-5:服务订单
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
dingdanbianhao
varchar
200
订单编号
fuwumingcheng
varchar
200
服务名称
fuwuleixing
varchar
200
服务类型
fuwushijian
date
服务时间
meirongshizhanghao
varchar
200
美容师账号
meirongshixingming
varchar
200
美容师姓名
yonghuzhanghao
varchar
200
用户账号
yonghuxingming
varchar
200
用户姓名
表4-6:配置文件
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
name
varchar
100
配置参数名称
value
varchar
100
配置参数值
表4-7:关于我们
字段名称
类型
长度
字段说明
主键
默认值
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
表4-8:收藏表
字段名称
类型
长度
字段说明
主键
默认值
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-9:科普知识
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
title
varchar
200
标题
introduction
longtext
4294967295
简介
picture
longtext
4294967295
图片
content
longtext
4294967295
内容
表4-10:留言反馈
字段名称
类型
长度
字段说明
主键
默认值
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
回复图片
表4-11:关于我们
字段名称
类型
长度
字段说明
主键
默认值
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
表4-12:购买订单
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
dingdanbianhao
varchar
200
订单编号
shangpinmingcheng
varchar
200
商品名称
shangpinfenlei
varchar
200
商品分类
jiage
int
价格
shuliang
int
数量
zongjiage
int
总价格
xiadanshijian
date
下单时间
yonghuzhanghao
varchar
200
用户账号
yonghuxingming
varchar
200
用户姓名
ispay
varchar
200
是否支付
未支付
表4-13:服务类型
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
fuwuleixing
varchar
200
服务类型
表4-14:套餐分类
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
jiage
int
价格(元)
taocanfenlei
varchar
200
套餐分类
表4-15:充值信息
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
chongzhibianhao
varchar
200
充值编号
jigoumingcheng
varchar
200
机构名称
taocanfenlei
varchar
200
套餐分类
jiage
varchar
200
价格
chongzhishijian
date
充值时间
yonghuzhanghao
varchar
200
用户账号
yonghuxingming
varchar
200
用户姓名
dianhuahaoma
varchar
200
电话号码
ispay
varchar
200
是否支付
未支付
表4-16:宠物商品
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
shangpinbianhao
varchar
200
商品编号
shangpinmingcheng
varchar
200
商品名称
shangpinfenlei
varchar
200
商品分类
shilingchongwu
varchar
200
适龄宠物
jiage
int
价格(元)
shangpintupian
longtext
4294967295
商品图片
shangpinjieshao
longtext
4294967295
商品介绍
表4-17:商品分类
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
shangpinfenlei
varchar
200
商品分类
表4-18:宠物服务
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
fuwubianhao
varchar
200
服务编号
fuwumingcheng
varchar
200
服务名称
fuwuleixing
varchar
200
服务类型
tupian
longtext
4294967295
图片
jiage
varchar
200
价格
fuwujianjie
longtext
4294967295
服务简介
表4-19:美容套餐
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
taocanbianhao
varchar
200
套餐编号
jigoumingcheng
varchar
200
机构名称
taocantupian
longtext
4294967295
套餐图片
keyueshijian
varchar
200
可约时间
taocanneirong
longtext
4294967295
套餐内容
chongzhixuzhi
longtext
4294967295
充值须知
taocanxiangqing
varchar
200
套餐详情
clicktime
datetime
最近点击时间
clicknum
int
点击次数
0
表4-20:美容师信息
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
meirongshizhanghao
varchar
200
美容师账号
meirongshixingming
varchar
200
美容师姓名
dianhuahaoma
varchar
200
电话号码
xingbie
varchar
200
性别
zhuangtai
varchar
200
状态
zhaopian
longtext
4294967295
照片
zhiyenianxian
int
执业年限
zhuanzhangjieshao
longtext
4294967295
专长介绍
xueshuchengjiu
longtext
4294967295
学术成就
gerenjianli
longtext
4294967295
个人简历
thumbsupnum
int
赞
0
crazilynum
int
踩
0
表4-21:美容师
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
meirongshizhanghao
varchar
200
美容师账号
meirongshixingming
varchar
200
美容师姓名
mima
varchar
200
密码
xingbie
varchar
200
性别
touxiang
longtext
4294967295
头像
dianhuahaoma
varchar
200
电话号码
表4-2:用户
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
yonghuzhanghao
varchar
200
用户账号
yonghuxingming
varchar
200
用户姓名
mima
varchar
200
密码
xingbie
varchar
200
性别
touxiang
longtext
4294967295
头像
dianhuahaoma
varchar
200
电话号码
yonghuleixing
varchar
200
用户类型
yue
varchar
200
余额(元)
当游客打开系统的网址后,首先看到的就是首页界面。在这里,游客能够看到宠物美容机构CRM系统的导航条显示首页、宠物商品、美容师信息、美容套餐、宠物服务、科普知识、留言反馈、后台管理、个人中心等。系统首页界面如图5-1所示:
图5-1系统首页界面
当用户进入前台系统进行相关操作前必须进行注册、登录,用户注册、用户登录界面如图5-2所示:
图5-2 用户注册、用户登录界面
用户点击宠物商品;在宠物商品页面的搜索栏输入商品名称、适龄宠物,进行查询,然后可以查看商品编号、商品名称、商品分类、适龄宠物、价格(元)、商品图片等信息,如有需要可以进行下单等操作;如图5-3所示。
图5-3宠物商品界面图
管理员登录,管理员通过登录页面输入用户名、密码、角色,并点击登录操作,如图5-6所示。
图5-6管理员登录界面图
管理员登录系统后,可以对首页、个人中心、用户管理、美容师管理、套餐分类管理、商品分类管理、宠物商品管理、购买订单管理、美容师信息管理、美容套餐管理、充值信息管理、服务类型管理、选择服务管理、服务订单管理、服务评价管理、留言反馈、系统管理等功能进行相应操作,如图5-7所示。
图5-7管理员功能界图面
管理员点击用户管理;在用户管理页面对用户账号、用户姓名、性别、头像、电话号码、用户类型、余额(元)等信息,进行查询,新增或删除用户信息等操作;如图5-8所示。
图5-8用户管理界面图
package com.controller;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;
/**
@RequestMapping("users")
@RestController
public class UserController{
@Autowired
private UserService userService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
/**
* 注册
*/
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UserEntity user){
//ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
/**
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
/**
@RequestMapping("/list")
public R list( UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
ew.allEq(MPUtil.allEQMapPre( user, "user"));
return R.ok().put("data", userService.selectListView(ew));
}
/**
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
@PostMapping("/save")
public R save(@RequestBody UserEntity user){
//ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
return R.error("用户名已存在。");
}
userService.updateById(user);//全部更新
return R.ok();
}
/**
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
大家点赞、收藏、关注 ,让更多需要的同学看到
⭐进主页热门专栏推荐订阅⭐ 订阅收藏起来,防止下次找不到
千套Java / PHP / nod.js / asp.net/ Python等项目实战更新中~
百套小程序APP项目实战更新中~
下方有我的微信名片
相关知识
【毕设精选】基于SpringBoot和Vue的相关系统
基于springboot的宠物商城美容服务平台
基于Springboot+vue的宠物销售商城网站
基于springboot的宠物论坛系统
基于springboot的宠物养护网站 毕业设计开题报告
【开题报告】基于SpringBoot的宠物电商社区系统的设计与实现
基于javaweb+mysql的springboot宠物商城系统宠物交易平台(java+springboot+maven+mybatis+vue+mysql)
java/jsp/ssm洗浴预约服务系统【2024年毕设】
基于JavaWeb的宠物商城网站设计与实现
基于springboot的宠物健康咨询系统
网址: 基于springboot的宠物商城美容服务平台 https://m.mcbbbk.com/newsview124546.html
上一篇: 学习宠物美容的方法有哪些?怎么选 |
下一篇: 宠物美容海报设计 |