• java基于安卓Android/微信小程序的高校校园跑腿系统 uniapp


    随着计算机技术的发展,带来社会各行业的进步,信息化逐渐运用到人们的生活中,电子商务的发展又促进了快递行业的诞生,由此延伸出相应的跑腿业务,特别是在校园内最后一公里为模式的平台迅速发展起来。为解决高校内短距离业务的需求,特开发高校校园跑腿系统,针对校园内的礼物代发、药品代买、快递代取、打印服务、餐品代买等进行管理,实现平台内发布方和接手方的沟通桥梁,通过交流达成交易,为双方带来便利,提高跑腿信息发布的效率。

    请添加图片描述
    环境需要
    1.运行环境:微信开发者工具,最好是java jdk 1.8,这是目前最稳定的JDK也是被使用最多的JDK版本。
    2.IDE环境:IDEA,Eclipse都可以。推荐IDEA;
    3.tomcat环境:Tomcat7/Tomcat8/Tomcat9版本均可
    4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
    5.数据库:MySql 5.7版本或以上版本;
    6.是否Maven项目:是;
    技术栈
    后端:Spring+SpringMVC+Mybatis+Springboot
    小程序端:uni-app+微信开发者工具混合开发模式

    请添加图片描述
    基于Android的高校校园跑腿系统包括用户管理、新闻公告管理、评论管理、跑腿订单、分类管理、系统管理。
    用户管理包括会员用户和管理员用户两个用户。设计一个用户数据表,使用权限字段进行区分。当前台会员进行注册的时候,权限设为会员。管理员用户权限设置为管理员。虽然数据存储在一个数据库表,但是在登录的时候使用权限类别进行区分,管理员用户无法通过客户端进行登录。同理,客户端用户也无法登陆管理员端。
    新闻公告是管理员发布跑腿订单的公告,信息发布后的公告在客户端浏览查看。
    评论管理是对跑腿订单的回复交流,当跑腿订单信息删除的时候,对应的评论信息也会删除,评论信息设计了评论名称、评论内容和对应的跑腿订单ID,通过跑腿订单ID进行外键关联。
    请添加图片描述
    本文先提出了开发基于Android的高校校园跑腿系统的背景意义,然后通过功能性和非功能性分析阐述本系统的需求,然后从功能设计和数据库设计两方面进行系统的设计建模。在技术实现部分采用了Java作为开发后台的编程语言,客户端使用Android,数据库选择MySQL。最后进行了代码的编写,并说明了实现流程。最终,通过软件测试来验证基于Android的高校校园跑腿系统的功能要求。综合表明,本基于Android的高校校园跑腿系统满足了跑腿的基本业务,帮助用户及时发布和接手任务,提供了深层次的跑腿功能平台。
    请添加图片描述

    
    /**
     * 登录相关
     */
    ("users")
    
    public class UserController{
    	
    	
    	private UserService userService;
    	
    	
    	private TokenService tokenService;
    
    	/**
    	 * 登录
    	 */
    	
    	(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);
    	}
    	
    	/**
    	 * 注册
    	 */
    	
    	(value = "/register")
    	public R register( 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();
        }
    
    	/**
    	 * 退出
    	 */
    	(value = "logout")
    	public R logout(HttpServletRequest request) {
    		request.getSession().invalidate();
    		return R.ok("退出成功");
    	}
    	
    	/**
         * 密码重置
         */
        
    	(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");
        }
    	
    	/**
         * 列表
         */
        ("/page")
        public R page( 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);
        }
    
    	/**
         * 列表
         */
        ("/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));
        }
    
        /**
         * 信息
         */
        ("/info/{id}")
        public R info(("id") String id){
            UserEntity user = userService.selectById(id);
            return R.ok().put("data", user);
        }
        
        /**
         * 获取用户的session用户信息
         */
        ("/session")
        public R getCurrUser(HttpServletRequest request){
        	Long id = (Long)request.getSession().getAttribute("userId");
            UserEntity user = userService.selectById(id);
            return R.ok().put("data", user);
        }
    
        /**
         * 保存
         */
        ("/save")
        public R save( 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();
        }
    
        /**
         * 修改
         */
        ("/update")
        public R update( UserEntity user){
    //        ValidatorUtils.validateEntity(user);
            userService.updateById(user);//全部更新
            return R.ok();
        }
    
        /**
         * 删除
         */
        ("/delete")
        public R delete( Long[] ids){
            userService.deleteBatchIds(Arrays.asList(ids));
            return R.ok();
        }
    }
    
    

    目录
    1 绪论 1
    1.1课题背景 1
    1.2课题研究现状 1
    1.3初步设计方法与实施方案 2
    1.4本文研究内容 2
    2 系统开发环境 4
    2.1 使用工具简介 4
    2.2 环境配置 4
    2.3 B/S结构简介 4
    2.4 MySQL数据库 5
    2.5 框架介绍 5
    3 系统分析 6
    3.1系统可行性分析 6
    3.1.1经济可行性 6
    3.1.2技术可行性 6
    3.1.3运行可行性 6
    3.2系统现状分析 6
    3.3功能需求分析 7
    3.4系统设计规则与运行环境 8
    3.5系统流程分析 8
    3.5.1操作流程 8
    3.5.2添加信息流程 9
    3.5.3删除信息流程 10
    4 系统设计 11
    4.1系统设计主要功能 11
    4.2数据库设计 11
    4.2.1数据库设计规范 11
    4.2.2 E/R图 11
    4.2.3数据表 12
    5 系统实现 25
    5.1系统功能模块 25
    5.2后台模块 27
    5.2.1管理员功能模块 27
    5.2.2用户功能模块 30
    6 系统测试 33
    6.1功能测试 33
    6.2可用性测试 33
    6.3性能测试 34
    6.4测试结果分析 34
    7结 论 35
    参考文献 36
    致 谢 37

  • 相关阅读:
    AVR汇编(六):分支指令
    ubuntu:vi 编辑器修改文件的基本操作指令
    Java面试题之Java的IO
    win10正确配置tensorRT环境
    5G网络整体架构
    广义线性模型(Generalized Linear Model)之三:Poisson回归
    SpringBoot 集成 Canal 实现监听MySQL表数据
    Cannot activate rust-analyzer: bootstrap error
    C Primer Plus(第六版)16.18 编程练习 第5题
    Leetcode.146 LRU 缓存
  • 原文地址:https://blog.csdn.net/qqvx_6310855/article/details/127042544