首页 > 文章列表 > SpringBoot怎么实现点餐小程序

SpringBoot怎么实现点餐小程序

springboot
439 2023-05-20

SpringBoot怎么实现点餐小程序

一,功能介绍

本点单系统主要是基于SpringBoot框架和小程序开发的,主要是为当代人们的生活提供更便利、更高效的服务,也为营销者提供更好的系统进行用户、商品、订单等信息管理。

该系统所实现的主要功能模块如下:

前台:

1)注册登录

2)个人中心

① 修改个人信息

② 修改收货地址

③ 积分

3)商品浏览

4)商品搜索

5)购物车

6)下单支付后台:

1)注册登录

2)个人中心

① 修改个人信息

② 修改密码

3)用户管理

① 客户信息管理

② 管理员信息管理

4)商品管理

① 商品分类管理

② 商品信息管理

③ 库存与销量

5)订单管理

前台提供用户注册登录、个人中心、浏览商品、查找商品、添加商品入购物车、订单提交以及支付等功能。后台提供管理注册登录、修改密码、修改个人信息、用户信息管理、管理员信息管理、商品信息管理、商品分配管理、库存与销量统计、订单管理等功能。

二,开发语言介绍

采用的SpringBoot+Vue+微信小程序进行开发,数据库采用的是Mysql。

三,系统的界面介绍

四,核心代码演示

/**

 * 登录相关

 */

@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);

    }

    /**

     * 获取用户的session用户信息

     */

    @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();

    }

}
/**

 * 订单

 * 后端接口

 * @author 小孟v:jishulearn

 * @email

 * @date 2022-06-26 09:41:24

 */

@RestController

@RequestMapping("/orders")

public class OrdersController {

    @Autowired

    private OrdersService ordersService;

    @Autowired

    private CaipinxinxiService caipinxinxiService;

    /**

     * 后端列表

     */

    @RequestMapping("/page")

    public R page(@RequestParam Map<String, Object> params,OrdersEntity orders,

		HttpServletRequest request){

    	if(!request.getSession().getAttribute("role").toString().equals("管理员")) {

    		orders.setUserid((Long)request.getSession().getAttribute("userId"));

    	}

        EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>();

		PageUtils page = ordersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, orders), params), params));

        return R.ok().put("data", page);

    }

    /**

     * 前端列表

     */

    @RequestMapping("/list")

    public R list(@RequestParam Map<String, Object> params,OrdersEntity orders, HttpServletRequest request){

        EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>();

		PageUtils page = ordersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, orders), params), params));

        return R.ok().put("data", page);

    }

	/**

     * 列表

     */

    @RequestMapping("/lists")

    public R list( OrdersEntity orders){

       	EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>();

      	ew.allEq(MPUtil.allEQMapPre( orders, "orders"));

        return R.ok().put("data", ordersService.selectListView(ew));

    }

	 /**

     * 查询

     */

    @RequestMapping("/query")

    public R query(OrdersEntity orders){

        EntityWrapper< OrdersEntity> ew = new EntityWrapper< OrdersEntity>();

 		ew.allEq(MPUtil.allEQMapPre( orders, "orders"));

		OrdersView ordersView =  ordersService.selectView(ew);

		return R.ok("查询订单成功").put("data", ordersView);

    }

    /**

     * 后端详情

     */

    @RequestMapping("/info/{id}")

    public R info(@PathVariable("id") Long id){

        OrdersEntity orders = ordersService.selectById(id);

        return R.ok().put("data", orders);

    }

    /**

     * 前端详情

     */

    @RequestMapping("/detail/{id}")

    public R detail(@PathVariable("id") Long id){

        OrdersEntity orders = ordersService.selectById(id);

        return R.ok().put("data", orders);

    }

    /**

     * 后端保存

     */

    @RequestMapping("/save")

    public R save(@RequestBody OrdersEntity orders, HttpServletRequest request){

    	orders.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());

    	//ValidatorUtils.validateEntity(orders);

    	orders.setUserid((Long)request.getSession().getAttribute("userId"));

        ordersService.insert(orders);

        return R.ok();

    }

    /**

     * 前端保存

     */

    @RequestMapping("/add")

    public R add(@RequestBody OrdersEntity orders, HttpServletRequest request){

    	orders.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());

    	//ValidatorUtils.validateEntity(orders);

        CaipinxinxiEntity caipinxinxiEntity = caipinxinxiService.selectById(orders.getGoodid());

        if(caipinxinxiEntity.getStore()<orders.getBuynumber()){

            return R.error("库存不足");

        }

        caipinxinxiEntity.setStore(caipinxinxiEntity.getStore()-orders.getBuynumber());

        caipinxinxiEntity.setSell(caipinxinxiEntity.getSell()+orders.getBuynumber());

        caipinxinxiService.updateById(caipinxinxiEntity);

        ordersService.insert(orders);

        return R.ok();

    }

    /**

     * 修改

     */

    @RequestMapping("/update")

    public R update(@RequestBody OrdersEntity orders, HttpServletRequest request){

        //ValidatorUtils.validateEntity(orders);

        ordersService.updateById(orders);//全部更新

        return R.ok();

    }