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

SpringBoot+Vue项目便捷洗衣服务平台

文末获取源码

开发语言:Java

使用框架:spring boot

前端技术:JavaScript、Vue.js 、css3

开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code

数据库:MySQL 5.7/8.0

数据库管理工具:phpstudy/Navicat

JDK版本:Java jdk8

Maven:apache-maven 3.8.1-bin

目录

一、前言介绍

二、系统功能 

三、系统前台模块

3.1系统登录页面

3.2洗衣房资讯页面​编辑

3.3洗衣服务页面

3.4预定服务页面 

3.5申请投递员页面

​编辑四、管理员功能模块

4.1公共管理页面  

4.2用户管理页面

4.3系统内容管理页面 

4.4洗衣服务管理页面 

4.5洗衣订单管理页面 

五、用户功能模块

5.1洗衣订单页面 

5.2取消记录页面 

六、投递员功能模块 

6.1投递订单页面

六、部分核心代码

6.1用户管理关键代码 

6.2投递订单关键代码 

6.3登录系统主要代码

6.4注册逻辑关键代码


一、前言介绍

随着信息化时代的到来,管理系统都趋向于智能化、系统化,便捷洗衣服务平台也不例外,但目前国内的市场仍都使用人工管理,市场规模越来越大,同时信息量也越来越庞大,人工管理显然已无法应对时代的变化,而便捷洗衣服务平台能很好地解决这一问题,轻松应对订单信息,既能提高人力物力财力,又能加快工作的效率,取代人工管理是必然趋势。

本便捷洗衣服务平台以java技术,b/s模式以及MySql作为后台运行的数据库,同时使用Tomcat用为系统的服务器。本系统主要包括主页、轮播图、公告栏、用户管理、资讯列表、资讯分类、衣物分类管理、洗衣服务管理、洗衣订单管理、取消订单审核、投递记录管理、申请投递员等功能,通过这些功能的实现能够基本满足便捷洗衣服务平台的操作。

二、系统功能 

本餐饮管理系统主要包括三大功能模块,即管理员、注册用户、投递员功能模块。

(1)管理员模块:系统中的核心用户是管理员,管理员登录后,通过管理员来管理后台系统。主要功能有:主页、轮播图、公告栏、用户管理、资讯列表、资讯分类、衣物分类管理、洗衣服务管理、洗衣订单管理、取消订单审核、投递记录管理、申请投递员

(2)前台用户:首页、公告消息、洗衣房资讯、洗衣服务、申请投递员

(3)用户后台:洗衣订单、取消记录、申请投递员

(4)投递员:投递订单

三、系统前台模块

3.1系统登录页面

3.2洗衣房资讯页面

3.3洗衣服务页面

3.4预定服务页面 

3.5申请投递员页面

四、管理员功能模块

4.1公共管理页面  

4.2用户管理页面

4.3系统内容管理页面 

4.4洗衣服务管理页面 

4.5洗衣订单管理页面 

五、用户功能模块

5.1洗衣订单页面 

5.2取消记录页面 

六、投递员功能模块 

6.1投递订单页面

 

六、部分核心代码

6.1用户管理关键代码 

public List selectBaseList(String select) {

        List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);

        List<E> list = new ArrayList<>();

        for (Map<String,Object> map:mapList) {

            list.add(JSON.parseObject(JSON.toJSONString(map),eClass));

        }

        return list;

}

6.2投递订单关键代码 

@RequestMapping("/get_list")
 
    public Map<String, Object> getList(HttpServletRequest request) {
 
        Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));
 
        return success(map);
 
}

6.3登录系统主要代码

/**
     * 登录
     * @param data
     * @param httpServletRequest
     * @return
     */
 
    @PostMapping("login")
 
    public Map<String, Object> login(@RequestBody Map<String, String> data, 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> 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> 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, "账号或密码不正确");
 
        }
 
}

6.4注册逻辑关键代码

/**
     * 注册
     * @param user
     * @return
     */
    @PostMapping("register")
    public Map<String, Object> signUp(@RequestBody User user) {
        // 查询用户
        Map<String, String> query = new HashMap<>();
        query.put("username",user.getUsername());
        List list = service.select(query, new HashMap<>()).getResultList();
        if (list.size()>0){
            return error(30000, "用户已存在");
        }
        user.setUserId(null);
        user.setPassword(service.encryption(user.getPassword()));
        service.save(user);
        return success(1);
}
/**
 
     * 用户ID:[0,8388607]用户获取其他与用户相关的数据
 
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "user_id")
    private Integer userId;
    /**
     * 账户状态:[0,10](1可用|2异常|3已冻结|4已注销)
 
     */
    @Basic
    @Column(name = "state")
    private Integer state;
    /**
     * 所在用户组:[0,32767]决定用户身份和权限
 
     */
    @Basic
    @Column(name = "user_group")
    private String userGroup;
    /**
     * 上次登录时间:
 
     */
    @Basic
    @Column(name = "login_time")
    private Timestamp loginTime;
    /**
     * 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时
 
     */
    @Basic
    @Column(name = "phone")
    private String phone;
    /**
     * 手机认证:[0,1](0未认证|1审核中|2已认证)
 
     */
    @Basic
    @Column(name = "phone_state")
    private Integer phoneState;
    /**
     * 用户名:[0,16]用户登录时所用的账户名称
 
     */
    @Basic
    @Column(name = "username")
    private String username;
    /**
     * 昵称:[0,16]
 
     */
    @Basic
    @Column(name = "nickname")
    private String nickname;
    /**
     * 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成
 
     */
    @Basic
    @Column(name = "password")
    private String password;
    /**
     * 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时
 
     */
    @Basic
    @Column(name = "email")
    private String email;
    /**
     * 邮箱认证:[0,1](0未认证|1审核中|2已认证)
 
     */
    @Basic
    @Column(name = "email_state")
    private Integer emailState;
    /**
     * 头像地址:[0,255]
 
     */
    @Basic
    @Column(name = "avatar")
    private String avatar;
    /**
     * 创建时间:
 
     */
    @Basic
    @Column(name = "create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Timestamp createTime;
    @Basic
    @Transient
    private String code;
}

 

相关文章:

  • wordpress注册页插件/抚州seo排名
  • 淘宝美工与网站开发/西安网络推广外包公司
  • wordpress雪人主题2.0/下载百度网盘app最新版
  • 网站流量增长/武汉疫情最新动态
  • 用java做网站可以吗/接广告的网站
  • 突发武汉再传大消息/seo英文
  • 网格化微型空气质量站 浅谈工作原理
  • uImage的制作工具mkimage详解(源码编译、使用方法、添加的头解析、uImage的制作)
  • Windows OpenGL ES 图像绿幕抠图
  • 给出32位有符号整数,将这个整数翻转
  • Numpy入门[11]——生成数组的函数
  • 【MyBatis源码分析】四、XML解析与核心对象的构建
  • WEB前端网页设计 HTML网页代码 基础参数(二)
  • 脉冲触发的触发器
  • MATLAB学习笔记(系统学习)
  • 网络结构模式,协议,端口,网络模型,arp
  • Express:CORS 跨域资源共享
  • 如何让页面跳转更丝滑