源码获取
私信联系我即可~
大家点赞、收藏、关注、评论啦
精彩专栏推荐订阅:在下方专栏👇🏻
👇🏻 精彩专栏 推荐订阅👇🏻
Java精品项目案例【2000套】
Java精品项目案例【2000套】
https://blog.csdn.net/fykj_2010/category_13187274.html
Python精品项目案例【500套】
uniapp/微信小程序/安卓app【1800套】
✅文末获取源码✅
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以找我咨询,希望帮助更多的人❤️
目 录
系统业务流程分析
管理员权限下的工作流程主要为:管理员通过系统界面提供登录按钮并点击,转入管理员登录界面,并在界面上填入相应的管理员账户和管理员密码,进入管理员权限下的后台系统,并且在系统左侧导航条设置了相应的操作功能。
用户权限下的工作流程主要为:用户通过系统提供的注册功能,进行身份验证并注册,而后在登录界面进行个人身份验证,并且进入用户的个人后台界面,并进行相应的操作。
社区专精工匠系统的业务流程如下图所示。

系统功能需求
居民用户用例图如下所示。


管理员用例图如下所示。

注册时序图
用户通过注册模块发送注册请求,系统完成注册后返回确认信息。随后,用户通过登录模块发送登录请求,系统验证用户信息后允许访问目标系统。用户完成操作后可选择退出,系统终止会话。注册时序图,如图4-2所示。

登录时序图
管理员输入登录信息后,登录界面将信息传递至前台管理界面,随后通过SpringBoot框架读取数据库中的用户信息并返回。系统验证信息,若验证成功则登录成功,若验证失败则返回错误提示。登录时序图如图4-3所示。

管理员修改用户信息时序图
管理员输入登录信息后,进入用户信息管理模块,选择增删改查操作并提交命令至数据库。数据库执行操作后返回成功状态,系统显示用户管理界面并提示操作成功。管理员修改用户信息时序图如图4-4所示。

管理员管理系统信息时序图
管理员通过访问系统发起请求,系统接收访问后转向系统信息模块进行管理操作。管理完成后,系统返回管理结果至系统,最终反馈给管理员,管理员可选择退出。管理员管理系统信息时序图如图4-5所示。

数据库
DROP TABLE IF EXISTS `resuser_ident_user`;
CREATE TABLE `resuser_ident_user`(resuser_ident_user_id int(11) NOT NULL AUTO_INCREMENT COMMENT '居民用户ID',
`name_of_resuser_ident` varchar(64) comment '居民姓名',
`resuser_ident_mobile_phone` varchar(16) NOT NULL UNIQUE comment '居民手机',
`resuser_idential_quarter` varchar(64) comment '居住小区',
`personal_preference` varchar(64) comment '个人偏好',
`home_address` varchar(64) comment '家庭地址',
`examine_state` varchar(16) DEFAULT '已通过' NOT NULL comment '审核状态',
`user_id` int(11) DEFAULT '0' NOT NULL comment '用户ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`create_by` int(11) DEFAULT '1' NOT NULL comment '创建用户ID',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
DROP TABLE IF EXISTS `craftsman_user`;
CREATE TABLE `craftsman_user`(craftsman_user_id int(11) NOT NULL AUTO_INCREMENT COMMENT '工匠用户ID',
`craftsmans_name` varchar(64) comment '工匠姓名',
`craftsman_mobile_phone` varchar(16) NOT NULL UNIQUE comment '工匠手机',
`user_identity_photo` varchar(255) comment '身份照片',
`skills_certificate` varchar(255) comment '技能证书',
`service_case` varchar(255) comment '服务案例',
`scope_of_services` varchar(64) comment '服务范围',
`craftsman_activity` varchar(64) comment '工匠活跃度',
`examine_state` varchar(16) DEFAULT '未审核' NOT NULL comment '审核状态',
`craftsman_credibility_limit_times` int(8) DEFAULT 1 NOT NULL comment '工匠信誉限制次数',
`user_id` int(11) DEFAULT '0' NOT NULL comment '用户ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`create_by` int(11) DEFAULT '1' NOT NULL comment '创建用户ID',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
DROP TABLE IF EXISTS `service_requirements`;
CREATE TABLE `service_requirements`(service_requirements_id int(11) NOT NULL AUTO_INCREMENT COMMENT '服务需求ID',
`craftsman_user` int(11) DEFAULT 0 comment '工匠用户',
`craftsmans_name` varchar(64) comment '工匠姓名',
`service_item` varchar(64) comment '服务项目',
`service_type` varchar(64) comment '服务类型',
`service_quotation` varchar(64) comment '服务报价',
`order_no` varchar(64) comment '订单单号',
`resuser_ident_user` int(11) DEFAULT 0 comment '居民用户',
`name_of_resuser_ident` varchar(64) comment '居民姓名',
`resuser_ident_mobile_phone` varchar(64) comment '居民手机',
`order_quantity` varchar(64) NOT NULL comment '订单数量',
`appointment_time` datetime comment '预约时间',
`appointment_location` varchar(64) comment '预约地点',
`related_pictures` text comment '相关图片',
`problem_description` text comment '问题描述',
`remarksnotes` text comment '备注说明',
`order_status` varchar(64) comment '订单状态',
`examine_state` varchar(16) DEFAULT '未审核' NOT NULL comment '审核状态',
`examine_reply` varchar(255) DEFAULT '' comment '审核回复',
`service_records_limit_times` int(8) DEFAULT 1 NOT NULL comment '服务记录限制次数',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`create_by` int(11) DEFAULT '1' NOT NULL comment '创建用户ID',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
DROP TABLE IF EXISTS `service_records`;
CREATE TABLE `service_records`(service_records_id int(11) NOT NULL AUTO_INCREMENT COMMENT '服务记录ID',
`craftsman_user` int(11) DEFAULT 0 comment '工匠用户',
`craftsmans_name` varchar(64) comment '工匠姓名',
`service_item` varchar(64) comment '服务项目',
`service_type` varchar(64) comment '服务类型',
`service_quotation` varchar(64) comment '服务报价',
`order_no` varchar(64) NOT NULL UNIQUE comment '订单单号',
`resuser_ident_user` int(11) DEFAULT 0 comment '居民用户',
`name_of_resuser_ident` varchar(64) comment '居民姓名',
`resuser_ident_mobile_phone` varchar(64) comment '居民手机',
`appointment_time` datetime comment '预约时间',
`appointment_location` varchar(64) comment '预约地点',
`completion_time` datetime comment '完成时间',
`photos_of_results` varchar(255) comment '成果照片',
`service_process` text comment '服务过程',
`service_evaluation_limit_times` int(8) DEFAULT 1 NOT NULL comment '评价限制次数',
`after_sale_service_limit_times` int(8) DEFAULT 1 NOT NULL comment '售后限制次数',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`create_by` int(11) DEFAULT '1' NOT NULL comment '创建用户ID',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
代码
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
ArticleType articleType = JSON.parseObject(JSON.toJSONString(service.readBody(request.getReader())),ArticleType.class);
articleType.setTypeId(null);
if (articleType.getTypeId()!=null){
throw new IllegalArgumentException("新增数据id必须为空");
}
if (articleType.getName()== null || articleType.getName().trim().isEmpty()){
throw new IllegalArgumentException("名称不能为空");
}
this.addEntity(articleType);
System.out.println("类型新增成功");
return success(1);
}
@PostMapping("/set")
@Transactional
public Map<String, Object> set(HttpServletRequest request) throws IOException {
this.service.update(this.service.readQuery(request), this.service.readConfig(request), this.service.readBody(request.getReader()));
return success(1);
}
@RequestMapping(value = "/del")
@Transactional
public Map<String, Object> del(HttpServletRequest request) {
this.service.delete(service.readQuery(request), service.readConfig(request));
return success(1);
}
@RequestMapping("/get_list")
public Map<String, Object> getList(HttpServletRequest request) {
Map<String, Object> map = this.service.selectToPage(service.readQuery(request), service.readConfig(request));
return success(map);
}
}
用户功能实现
查看工匠主页
用户进入工匠主页页面,浏览工匠的姓名、服务项目、服务类型、订单数量等基本信息,通过搜索栏输入关键词或筛选条件,快速定位目标工匠。工匠主页界面如图5-1所示。

图5-1工匠主页界面
查看服务评价
用户在服务评价页面可以查看服务评价详情,包含了服务项目、服务类型、服务报价、订单单号、预约时间、预约地点、评分等级等信息。系统也会根据用户的兴趣爱好推荐服务评价的页面,也可以查看工匠对于服务评价的回复。服务评价界面如图5-2所示。

图5-2服务评价界面
查看工匠文化
用户登录后,在首页查看工匠文化详情,包含了工匠姓名、文化标题、文化类型、个人故事、历史渊源、详情信息等。系统也会根据用户的兴趣爱好推荐工匠文化的页面。工匠文化界面如图5-3所示。

图5-3工匠文化界面
查看体验工坊
用户在首页浏览时可以查看体验工坊信息,包含体验活动、活动类别、活动时间、活动地点、活动介绍、体验内容等信息。用户可以根据的时间预约参与体验工坊。系统也会根据用户的兴趣爱好推荐体验工坊的页面。体验工坊界面如图5-4所示。

图5-4体验工坊界面
查看技艺传承
用户登录后进入“首页”页面,查看所有技艺传承相关信息,包括工匠姓名、技能标签、收徒时间、收徒人数等信息,用户也可以进行拜师申请,选择加入。点击技艺传承,会根据个人喜好优先推荐信息。技艺传承查看界面如图5-5所示。

图5-5技艺传承查看界面
查看新闻资讯
用户在资讯页面浏览工匠养护知识、趣闻轶事等内容。通过分类标签筛选资讯类型,点击标题查看详细文章,页面提供评论区供用户交流心得。新闻资讯界面如图5-6所示。

图5-6新闻资讯界面
管理员功能实现
技艺传承管理
技艺传承管理包括了技艺传承列表和管理员可以添加新的技艺传承信息。技艺传承管理界面如图5-7所示。

图5-7技艺传承管理界面
工匠文化管理
工匠文化管理包括了工匠文化管理列表,管理员可以审核工匠文化信息。工匠文化管理界面如图5-8所示。

图5-8工匠文化管理界面5.2.3体验工坊管理
体验工坊管理包括了体验工坊列表和添加体验工坊信息,管理员可以审核体验工坊信息和上传体验工坊信息。体验工坊管理界面如图5-9所示。

图5-9体验工坊管理界面

126

被折叠的 条评论
为什么被折叠?



