开发工具:IDEA,jdk1.8 数据库:mysql5.7

前端框架:layui和Ruoyi

技术:springboot+mybatis+Shiro+Thymeleaf

项目简介
本项目为点餐系统,主要分三个角色:用户、商户、管理员

用户前台:实现了登录、注册、菜品浏览、查看详情、加入购物车、生成订单、支付、评价、修改个人信息、修改密码、我的订单、我的评价、我的收藏、浏览记录、收货地址、退出登录等功能。

商户后台:登录、注册、修改密码、修改个人信息、系统管理(评价管理、通知公告)、订单管理(退款处理、订单配送、订单列表)、餐饮管理、退出登录。

管理员后台:登录、修改密码、修改个人信息、用户管理、角色管理、菜单管理、评价管理、字典管理、通知公告、餐饮管理、订单管理、订单统计、退出登录。

用户截图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

商户截图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

管理员截图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

package com.project.user.service.impl;

import java.util.List;

import com.project.common.utils.TimeUuidUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.project.user.mapper.UserAddressMapper;
import com.project.user.domain.UserAddress;
import com.project.user.service.IUserAddressService;
import com.project.common.utils.str.Convert;
import org.springframework.transaction.annotation.Transactional;

/**
 * 用户收货地址 服务层实现
 *
 * @author administrator
 */
@Service
public class UserAddressServiceImpl implements IUserAddressService {
    @Autowired
    private UserAddressMapper userAddressMapper;

    /**
     * 查询用户收货地址信息
     *
     * @param id 用户收货地址ID
     * @return 用户收货地址信息
     */
    @Override
    public UserAddress selectUserAddressById(Long id) {
        return userAddressMapper.selectUserAddressById(id);
    }

    /**
     * 查询用户收货地址列表
     *
     * @param userAddress 用户收货地址信息
     * @return 用户收货地址集合
     */
    @Override
    public List<UserAddress> selectUserAddressList(UserAddress userAddress) {
        return userAddressMapper.selectUserAddressList(userAddress);
    }

    /**
     * 新增用户收货地址
     *
     * @param userAddress 用户收货地址信息
     * @return 结果
     */
    @Override
    public int insertUserAddress(UserAddress userAddress) {
        userAddress.setId(TimeUuidUtil.get16UUID());
        return userAddressMapper.insertUserAddress(userAddress);
    }

    /**
     * 修改用户收货地址
     *
     * @param userAddress 用户收货地址信息
     * @return 结果
     */
    @Override
    public int updateUserAddress(UserAddress userAddress) {
        return userAddressMapper.updateUserAddress(userAddress);
    }

    /**
     * 删除用户收货地址对象
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteUserAddressByIds(String ids) {
        return userAddressMapper.deleteUserAddressByIds(Convert.toStrArray(ids));
    }

    /**
     * 重置用户默认地址
     *
     * @param userId 用户编号
     * @param addrId 地址编号
     * @return
     */
    @Override
    @Transactional
    public int resetUserAddressDefault(Long userId, Long addrId) {
        userAddressMapper.resetUserAddressDefault(userId);
        UserAddress userAddress = new UserAddress();
        userAddress.setId(addrId);
        userAddress.setIsDefault("1");
        return userAddressMapper.updateUserAddress(userAddress);
    }

}

package com.project.web.controller.user;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.ui.ModelMap;
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.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.project.user.domain.UserAddress;
import com.project.user.service.IUserAddressService;
import com.project.web.controller.common.BaseController;
import com.project.common.base.AjaxResult;

/**
 * 用户收货地址 信息操作处理
 *
 * @author administrator
 */
@Controller
@RequestMapping("/user/userAddress")
public class UserAddressController extends BaseController {
    private String prefix = "normal";

    @Autowired
    private IUserAddressService userAddressService;

    /**
     * 跳转到新增用户收货地址页面
     *
     * @param modelMap
     * @return
     */
    @GetMapping("/add")
    public String add(ModelMap modelMap) {
        modelMap.put("userAddress", new UserAddress());
        return prefix + "/user_addr_save";
    }

    /**
     * 新增/编辑保存用户收货地址
     *
     * @param userAddress
     * @return
     */
    @PostMapping("/add")
    @ResponseBody
    public AjaxResult addSave(UserAddress userAddress) {
        userAddress.setUserId(this.getUserId());
        if (userAddress.getId().longValue() == 0) {
            return toAjax(userAddressService.insertUserAddress(userAddress));
        } else {
            return toAjax(userAddressService.updateUserAddress(userAddress));
        }
    }

    /**
     * 修改用户收货地址
     *
     * @param id
     * @param mmap
     * @return
     */
    @GetMapping("/edit/{id}")
    public String edit(@PathVariable("id") Long id, ModelMap mmap) {
        mmap.put("userAddress", userAddressService.selectUserAddressById(id));
        return prefix + "/user_addr_save";
    }

    /**
     * 删除用户收货地址
     *
     * @param id
     * @return
     */
    @RequestMapping("/remove")
    public String remove(String id) {
        userAddressService.deleteUserAddressByIds(id);
        return "redirect:/user/addr";
    }

    /**
     * 修改用户收货地址
     *
     * @param id
     * @param mmap
     * @return
     */
    @GetMapping("/setDefault/{id}")
    public String setDefault(@PathVariable("id") Long id, ModelMap mmap) {
        userAddressService.resetUserAddressDefault(this.getUserId(), id);
        return "redirect:/user/addr";
    }
}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐