基于javaweb+mysql的springboot网上水果蔬菜项目系统设计和实现(java+springboot+mysql+ssm)

基于javaweb+mysql的springboot网上水果蔬菜项目系统设计和实现(java+springboot+mysql+ssm)

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的SpringBoot网上水果蔬菜项目系统设计和实现(java+springboot+mysql+ssm)

主主要技术:java springmvc springboot mybatis mysql jquery layui 等技术要模块设计如下:

用户角色的功能:

登录、注册、浏览商品、修改个人信息(上传图片)、修改密码、评论商品、添加商品到购物车、提交订单、查看订单、收藏商品等等功能。

管理员角色的功能:管理用户信息、管理用户评论信息、管理商品信息、管理订单信息等等功能。

	 * @return
	 */
	@RequestMapping(value="/send_mail",method=RequestMethod.POST)
	@ResponseBody
	public ResponseVo<Boolean> sendMail(Mail mail,String receivers,HttpServletRequest request){
		Admin loginedAdmin = (Admin) request.getSession().getAttribute(SessionConstant.SESSION_ADMIN_LOGIN_KEY);
		return mailService.sendMail(mail, receivers, loginedAdmin.getId());
	}
	
	/**
	 * 邮件删除处理
	 * @param id
	 * @return
	 */
	@RequestMapping(value="/delete",method=RequestMethod.POST)
	@ResponseBody
	public ResponseVo<Boolean> delete(Integer id,HttpServletRequest request){
		Admin loginedAdmin = (Admin) request.getSession().getAttribute(SessionConstant.SESSION_ADMIN_LOGIN_KEY);
		return mailService.delete(id, loginedAdmin.getId());
	}
}
package com.demo.controller.admin;


/**

 */

/**
 * 后台管理系统订单控制器

 *
 */
@RequestMapping("/admin/order")
@Controller
public class OrderController {

    @Autowired
    private IMenuService menuService;

    @Autowired
    private MenuMapper menuMapper;

    @RequestMapping(value="/index",method= RequestMethod.GET)
    public String index(Model model, Integer id, HttpServletRequest request, String content,
                        @RequestParam(required = false, defaultValue = "1") Integer pageNum,
                        @RequestParam(required = false, defaultValue = "5") Integer pageSize //每页5个数据
    )  {
        //获取列表展示有关信息
        if(StringUtil.isEmpty(content)) {
            //如果查询信息为空
            model.addAttribute("PageInfo", userService.getUserByPage(pageNum, pageSize).getData());
        }else {
            model.addAttribute("PageInfo", userService.getUserByPageAndContent(pageNum, pageSize, content).getData());
            model.addAttribute("content",content);
        }
        //获取路径上有关信息
        Menu selectByPrimaryKey = menuMapper.selectByPrimaryKey(id);
        if(selectByPrimaryKey == null) {
            return "error/404";
        }
        Admin loginedAdmin = (Admin) request.getSession().getAttribute(SessionConstant.SESSION_ADMIN_LOGIN_KEY);
        List<Authority> selectByRoleId = authorityMapper.selectByRoleId(loginedAdmin.getRoleId()); //获取当前用户所有权限
        Set<Integer> menuIdSet = selectByRoleId.stream().map(Authority :: getMenuId).collect(Collectors.toSet());//把权限中所有菜单id取出来
        List<Menu> allMenusByStateAndPrimaryKeys = menuMapper.selectByStateAndPrimaryKeys(MenuStateEnum.OPEN.getCode(), menuIdSet);
        model.addAttribute("allAdmins", adminMapper.selectAll());
        model.addAttribute("onThirdMenus", menuService.getThirdMenus(allMenusByStateAndPrimaryKeys).getData());
        model.addAttribute("parentMenu", menuMapper.selectByPrimaryKey(selectByPrimaryKey.getParentId()));
        model.addAttribute("currentMenu", selectByPrimaryKey);
        return "admin/user/index";
    }

    /**
     * 用户评论列表页面
     * @param model
     * @param id
     * @param request
     * @param content
     * @param pageNum
     * @param pageSize
     * @return
     */
    @RequestMapping(value="/comment",method= RequestMethod.GET)
    public String comment(Model model, Integer id, HttpServletRequest request, String content,
                        @RequestParam(required = false, defaultValue = "1") Integer pageNum,
                        @RequestParam(required = false, defaultValue = "5") Integer pageSize //每页5个数据
    )  {
        //获取列表展示有关信息
        if(StringUtil.isEmpty(content)) {
            //如果查询信息为空
            model.addAttribute("PageInfo", commentService.selectByPage(pageNum, pageSize).getData());
        }else {

/**
 * 公用的上传类
 */
@RequestMapping("/upload")
@Controller
public class UploadController {

    private String uploadPhotoSufix = ".jpg,.png,.gif,.jpeg";

    private long uploadPhotoMaxSize = 10240;   //大小1024KB

    private String uploadPhotoPath = System.getProperty("user.dir") + "/src/main/resources/upload/photo/";

    private long uploadAttachmentMaxSize = 204800;   //大小204800KB

    private String uploadAttachmentPath = System.getProperty("user.dir") + "/src/main/resources/upload/attachment/";

    private Logger log = LoggerFactory.getLogger(UploadController.class);

    @Autowired
    private AttachmentMapper attachmentMapper;

        String uid = (String) request.getAttribute("id");
        model.addAttribute("PageInfo", commentService.selectByPageAndUserId(pageNum, pageSize, Long.valueOf(uid)).getData());
        return "home/user/comment";
    }

    /**
     * 我的订单页面
     * @param model
     * @param request
     * @param pageNum
     * @param pageSize
     * @return
     */
    @RequestMapping(value="/order",method=RequestMethod.GET)
    public String order(Model model, HttpServletRequest request,
                        @RequestParam(required = false, defaultValue = "1") Integer pageNum,
                        @RequestParam(required = false, defaultValue = "1") Integer pageSize //每页1个数据
    ){
        //获取当前登录用户的id
        String uid = (String) request.getAttribute("id");
        model.addAttribute("PageInfo", orderService.selectByPageAndUserIdAndIsDeleted(Long.valueOf(uid), OrderDeleteEnum.NO.getCode(), pageNum, pageSize).getData());
        //model.addAttribute("OrderList", orderMapper.selectByUserIdAndIsDeleted(Long.valueOf(uid), 0));
        model.addAttribute("Send", orderService.selectByOrderStateAndUserIdAndIsDeleted(OrderStateEnum.SEND.getCode(), Long.valueOf(uid), OrderDeleteEnum.NO.getCode()).size());
        model.addAttribute("Sign", orderService.selectByOrderStateAndUserIdAndIsDeleted(OrderStateEnum.SIGN.getCode(), Long.valueOf(uid), OrderDeleteEnum.NO.getCode()).size());
        return "/home/user/order";
    }

    /**
     * 用户登录操作处理
     * @param username
     * @param password
     * @return
     */
    @RequestMapping(value="/login",method=RequestMethod.POST)
    @ResponseBody
    public ResponseVo<Boolean> login(String username, String password){
        return userService.login(username, password);
    }

    /**
     * 用户注册操作处理
     * @param user
	}
	
	/**
	 * 菜单添加表单处理
	 * @param menu
	 * @return
	 */
	@RequestMapping(value="/add",method=RequestMethod.POST)
	@ResponseBody
	public ResponseVo<Boolean> add(Menu menu){
		return menuService.add(menu);
	}
	
	/**
	 * 菜单编辑表单处理
	 * @param menu
	 * @return
	 */
	@RequestMapping(value="/edit",method=RequestMethod.POST)
	@ResponseBody
	public ResponseVo<Boolean> edit(Menu menu){
		return menuService.edit(menu);
	}
	
	/**
	 * 菜单删除处理
	 * @param id
	 * @return
	 */
	@RequestMapping(value="/delete",method=RequestMethod.POST)
	@ResponseBody
	public ResponseVo<Boolean> delete(Integer id){
		return menuService.delete(id);
	}
	
	/**
	 * 判断当前菜单是否是二级菜单
	 * @param id
	 * @return
	 */
	@RequestMapping(value="/level",method=RequestMethod.POST)
	@ResponseBody
	public ResponseVo<Integer> level(Integer id){
		return menuService.level(id);
	}
	
	/**
	 * 菜单更改状态处理
	 * @param id
	 * @return
	 */
	@RequestMapping(value="/change_state",method=RequestMethod.POST)
	@ResponseBody
	public ResponseVo<Boolean> chageState(Integer id){
	private RoleServiceImpl roleService;
	
	@Autowired
	private AuthorityMapper authorityMapper;
	
	/**
	 * 角色列表页面
	 * @param model
	 * @param id
	 * @return
	 */
	@RequestMapping(value="/index",method=RequestMethod.GET)
	public String index(Model model,Integer id,String name,HttpServletRequest request,
			@RequestParam(required = false, defaultValue = "1") Integer pageNum,
			@RequestParam(required = false, defaultValue = "5") Integer pageSize //每页5个数据
			) {
		//获取列表展示有关信息
		if(StringUtil.isEmpty(name)) {
			//如果查询信息为空
			model.addAttribute("PageInfo", roleService.getRoleListByPage(pageNum, pageSize).getData());
		}else {
			model.addAttribute("PageInfo", roleService.getRoleListByPageAndName(pageNum, pageSize, name).getData());
			model.addAttribute("name",name);
		}
		//获取路径上有关信息
		Menu selectByPrimaryKey = menuMapper.selectByPrimaryKey(id);
		if(selectByPrimaryKey == null) {
			return "error/404";
		}
		Admin loginedAdmin = (Admin) request.getSession().getAttribute(SessionConstant.SESSION_ADMIN_LOGIN_KEY);
		List<Authority> selectByRoleId = authorityMapper.selectByRoleId(loginedAdmin.getRoleId()); //获取当前用户所有权限
		Set<Integer> menuIdSet = selectByRoleId.stream().map(Authority :: getMenuId).collect(Collectors.toSet());//把权限中所有菜单id取出来
		List<Menu> allMenusByStateAndPrimaryKeys = menuMapper.selectByStateAndPrimaryKeys(MenuStateEnum.OPEN.getCode(), menuIdSet);
		model.addAttribute("onThirdMenus", menuService.getThirdMenus(allMenusByStateAndPrimaryKeys).getData());
		model.addAttribute("parentMenu", menuMapper.selectByPrimaryKey(selectByPrimaryKey.getParentId()));
		model.addAttribute("currentMenu", selectByPrimaryKey);
		return "admin/role/index";
	}
	
	/**
	 * 角色添加页面
	 * @param model
	 * @return
	 */
	@RequestMapping(value="/add",method=RequestMethod.GET)
	public String add(Model model) {
		return "admin/role/add";
	}
	
	/**
	 * 角色编辑页面
	 * @param model
}
package com.demo.service.home.impl;

/**

 */

/**
 * 地址service接口实现类

 *
 */
@Service
public class AddressServiceImpl implements IAddressService {

    @Autowired
    private AddressMapper addressMapper;

    @Override
    public ResponseVo<Boolean> add(Address address, HttpServletRequest request) {
        if(address == null){
            return ResponseVo.errorByMsg(CodeMsg.DATA_ERROR);
        }
        //获取当前登录用户的id
        String id = (String) request.getAttribute("id");
        address.setUserId(Long.valueOf(id));
        //统一表单验证
        CodeMsg validate = ValidateEntityUtil.validate(address);
            model.addAttribute("content",content);
        }
        //获取路径上有关信息
        Menu selectByPrimaryKey = menuMapper.selectByPrimaryKey(id);
        if(selectByPrimaryKey == null) {
            return "error/404";
        }
        Admin loginedAdmin = (Admin) request.getSession().getAttribute(SessionConstant.SESSION_ADMIN_LOGIN_KEY);
        List<Authority> selectByRoleId = authorityMapper.selectByRoleId(loginedAdmin.getRoleId()); //获取当前用户所有权限
        Set<Integer> menuIdSet = selectByRoleId.stream().map(Authority :: getMenuId).collect(Collectors.toSet());//把权限中所有菜单id取出来
        List<Menu> allMenusByStateAndPrimaryKeys = menuMapper.selectByStateAndPrimaryKeys(MenuStateEnum.OPEN.getCode(), menuIdSet);
        model.addAttribute("allAdmins", adminMapper.selectAll());
        model.addAttribute("onThirdMenus", menuService.getThirdMenus(allMenusByStateAndPrimaryKeys).getData());
        model.addAttribute("parentMenu", menuMapper.selectByPrimaryKey(selectByPrimaryKey.getParentId()));
        model.addAttribute("currentMenu", selectByPrimaryKey);
        return "admin/user/index";
    }

    /**
     * 用户评论列表页面
     * @param model
     * @param id
     * @param request
     * @param content
     * @param pageNum
     * @param pageSize
     * @return
     */
    @RequestMapping(value="/comment",method= RequestMethod.GET)
    public String comment(Model model, Integer id, HttpServletRequest request, String content,
                        @RequestParam(required = false, defaultValue = "1") Integer pageNum,
                        @RequestParam(required = false, defaultValue = "5") Integer pageSize //每页5个数据
    )  {
        //获取列表展示有关信息
        if(StringUtil.isEmpty(content)) {
            //如果查询信息为空
            model.addAttribute("PageInfo", commentService.selectByPage(pageNum, pageSize).getData());
        }else {
            model.addAttribute("PageInfo", commentService.selectByPageAndSearchContent(content, pageNum, pageSize).getData());
            model.addAttribute("content",content);
        }
        //获取路径上有关信息
            return ResponseVo.errorByMsg(codeMsg);
        }
        //准备保存文件
        File filePath = new File(uploadAttachmentPath);
        if (!filePath.exists()) {
            //若不存在文件夹,则创建一个文件夹
            filePath.mkdir();
        }
        filePath = new File(uploadAttachmentPath + "/" + StringUtil.getFormatterDate(new Date(), "yyyyMMdd"));
        //判断当天日期的文件夹是否存在,若不存在,则创建
        if (!filePath.exists()) {
            //若不存在文件夹,则创建一个文件夹
            filePath.mkdir();
        }
        String filename = StringUtil.getFormatterDate(new Date(), "yyyyMMdd") + "/" + System.currentTimeMillis() + suffix;
        try {
            attachment.transferTo(new File(uploadAttachmentPath + "/" + filename));   //把文件上传
        } catch (IllegalStateException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        //把附件信息写入数据库
        BigDecimal size = new BigDecimal((double) attachment.getSize() / 1024);
        size = size.setScale(2, BigDecimal.ROUND_HALF_EVEN);
        Attachment saveAttachment = new Attachment(null, loginedAdmin.getId(), filename, originalFilename, size); //id,senderid,url,name
        CodeMsg validate = ValidateEntityUtil.validate(saveAttachment);
        if (!validate.getCode().equals(CodeMsg.SUCCESS.getCode())) {
            return ResponseVo.errorByMsg(validate);
        }
        if (attachmentMapper.insertSelective(saveAttachment) <= 0) {
            return ResponseVo.errorByMsg(CodeMsg.UPLOAD_ATTACHMENT_ERROR);
        }
        log.info("附件上传成功,保存位置:" + uploadAttachmentPath + filename);
        return ResponseVo.success(saveAttachment);

    }

    /**
     * 文件统一下载类
     *
     * @param id
     * @param response
     * @return
     */
    @RequestMapping(value = "/download_file", method = RequestMethod.GET)
    public void downloadFile(HttpServletResponse response, Integer id) {
        Attachment selectByPrimaryKey = attachmentMapper.selectByPrimaryKey(id);
        try {
}
package com.demo.service.common.impl;

/**

 */

/**
 * 用户service接口实现类

 *
 */
@Service
public class UserServiceImpl implements IUserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public ResponseVo<Boolean> isUsernameExist(User user, Long id) {
        User findByUsername = userMapper.findUserByUsername(user.getUsername());
        if(findByUsername != null) {
            if(!findByUsername.getId().equals(id)) {
                return ResponseVo.success(true); //出现重名
            }
        }
        return ResponseVo.success(false);//没有重名
    }

    @Override
	 * @return
	 */
	@RequestMapping(value="/change_state",method=RequestMethod.POST)
	@ResponseBody
	public ResponseVo<Boolean> chageState(Integer id){
		return menuService.chageState(id);
	}
		
}
package com.demo.controller.admin;

/**

 */

/**
 * 后台管理系统订单控制器

 *
 */
@RequestMapping("/admin/order")
@Controller
public class OrderController {

	}
	
	/**
	 * 菜单更改状态处理
	 * @param id
	 * @return
	 */
	@RequestMapping(value="/change_state",method=RequestMethod.POST)
	@ResponseBody
	public ResponseVo<Boolean> chageState(Integer id){
		return menuService.chageState(id);
	}
		
}
package com.demo.controller.admin;

/**

 */

/**
 * 后台管理系统订单控制器
     * @param pageNum
     * @param pageSize
     * @return
     */
    @RequestMapping(value="/comment",method=RequestMethod.GET)
    public String comment(Model model,HttpServletRequest request,
                          @RequestParam(required = false, defaultValue = "1") Integer pageNum,
                          @RequestParam(required = false, defaultValue = "5") Integer pageSize //每页5个数据
    ){
        String uid = (String) request.getAttribute("id");
        model.addAttribute("PageInfo", commentService.selectByPageAndUserId(pageNum, pageSize, Long.valueOf(uid)).getData());
        return "home/user/comment";
    }

    /**
     * 我的订单页面
     * @param model
     * @param request
     * @param pageNum
     * @param pageSize
     * @return
     */
    @RequestMapping(value="/order",method=RequestMethod.GET)
    public String order(Model model, HttpServletRequest request,
                        @RequestParam(required = false, defaultValue = "1") Integer pageNum,
                        @RequestParam(required = false, defaultValue = "1") Integer pageSize //每页1个数据
    ){
        //获取当前登录用户的id
        String uid = (String) request.getAttribute("id");
        model.addAttribute("PageInfo", orderService.selectByPageAndUserIdAndIsDeleted(Long.valueOf(uid), OrderDeleteEnum.NO.getCode(), pageNum, pageSize).getData());
        //model.addAttribute("OrderList", orderMapper.selectByUserIdAndIsDeleted(Long.valueOf(uid), 0));
        model.addAttribute("Send", orderService.selectByOrderStateAndUserIdAndIsDeleted(OrderStateEnum.SEND.getCode(), Long.valueOf(uid), OrderDeleteEnum.NO.getCode()).size());
        model.addAttribute("Sign", orderService.selectByOrderStateAndUserIdAndIsDeleted(OrderStateEnum.SIGN.getCode(), Long.valueOf(uid), OrderDeleteEnum.NO.getCode()).size());
        return "/home/user/order";
    }

    /**
     * 用户登录操作处理
     * @param username
     * @param password
     * @return

/**
 * 后台管理系统系统控制器

 *
 */
@RequestMapping("/admin/system")
@Controller
public class SystemController {

	@Autowired
	private AdminMapper adminMapper;
	
	@Autowired
	private AuthorityMapper authorityMapper;
	
	
	/**
	 * 系统登录页面
	 * @param model
	 * @return
	 */
	
	/**
	 * 公告列表页面
	 * @param model
	 * @param id
	 * @return
	 */
	@RequestMapping(value="/index",method=RequestMethod.GET)
	public String index(Model model,Integer id,String content,HttpServletRequest request,
			@RequestParam(required = false, defaultValue = "1") Integer pageNum,
			@RequestParam(required = false, defaultValue = "5") Integer pageSize //每页5个数据
			) {
		//获取列表展示有关信息
		if(StringUtil.isEmpty(content)) {
			//如果查询信息为空
			model.addAttribute("PageInfo", announcementService.getAnnouncementByPage(pageNum, pageSize).getData());
		}else {
			model.addAttribute("PageInfo", announcementService.getAnnouncementByPageAndContent(pageNum, pageSize, content).getData());
			model.addAttribute("content",content);
		}
		//获取路径上有关信息
		Menu selectByPrimaryKey = menuMapper.selectByPrimaryKey(id);
		if(selectByPrimaryKey == null) {
			return "error/404";
		}
		Admin loginedAdmin = (Admin) request.getSession().getAttribute(SessionConstant.SESSION_ADMIN_LOGIN_KEY);
		List<Authority> selectByRoleId = authorityMapper.selectByRoleId(loginedAdmin.getRoleId()); //获取当前用户所有权限
		Set<Integer> menuIdSet = selectByRoleId.stream().map(Authority :: getMenuId).collect(Collectors.toSet());//把权限中所有菜单id取出来
		List<Menu> allMenusByStateAndPrimaryKeys = menuMapper.selectByStateAndPrimaryKeys(MenuStateEnum.OPEN.getCode(), menuIdSet);
		model.addAttribute("allAdmins", adminMapper.selectAll());
		model.addAttribute("onThirdMenus", menuService.getThirdMenus(allMenusByStateAndPrimaryKeys).getData());
		model.addAttribute("parentMenu", menuMapper.selectByPrimaryKey(selectByPrimaryKey.getParentId()));
		model.addAttribute("currentMenu", selectByPrimaryKey);
		return "admin/announcement/index";
	}
	
	

	/**
	 * 公告添加页面
	 * @param model
	 * @return
	 */
	@RequestMapping(value="/add",method=RequestMethod.GET)

/**

 */

/**
 * 用户service接口实现类

 *
 */
@Service
public class UserServiceImpl implements IUserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public ResponseVo<Boolean> isUsernameExist(User user, Long id) {
        User findByUsername = userMapper.findUserByUsername(user.getUsername());
        if(findByUsername != null) {
            if(!findByUsername.getId().equals(id)) {
                return ResponseVo.success(true); //出现重名
            }
        }
        return ResponseVo.success(false);//没有重名
    }

    @Override
    public ResponseVo<Boolean> login(String username, String password) {
        //判断用户输入的用户名称是否为空
        if(StringUtil.isEmpty(username)){
            return ResponseVo.errorByMsg(CodeMsg.USER_USERNAME_EMPTY);
        }
        //判断用户输入的密码是否为空
        if(StringUtil.isEmpty(password)){
            return ResponseVo.errorByMsg(CodeMsg.USER_PASSWORD_EMPTY);
                        @RequestParam(required = false, defaultValue = "1") Integer pageNum,
                        @RequestParam(required = false, defaultValue = "5") Integer pageSize //每页5个数据
    )  {
        //获取列表展示有关信息
        if(StringUtil.isEmpty(content)) {
            //如果查询信息为空
            model.addAttribute("PageInfo", orderService.selectByPage(pageNum, pageSize).getData());
        }else {
            model.addAttribute("PageInfo", orderService.selectByPageAndContent(Long.valueOf(content), pageNum, pageSize).getData());
            model.addAttribute("content",content);
        }
        //获取路径上有关信息
        Menu selectByPrimaryKey = menuMapper.selectByPrimaryKey(id);
        if(selectByPrimaryKey == null) {
            return "error/404";
        }
        Admin loginedAdmin = (Admin) request.getSession().getAttribute(SessionConstant.SESSION_ADMIN_LOGIN_KEY);
        List<Authority> selectByRoleId = authorityMapper.selectByRoleId(loginedAdmin.getRoleId()); //获取当前用户所有权限
        Set<Integer> menuIdSet = selectByRoleId.stream().map(Authority :: getMenuId).collect(Collectors.toSet());//把权限中所有菜单id取出来
        List<Menu> allMenusByStateAndPrimaryKeys = menuMapper.selectByStateAndPrimaryKeys(MenuStateEnum.OPEN.getCode(), menuIdSet);
        model.addAttribute("allAdmins", adminMapper.selectAll());
        model.addAttribute("onThirdMenus", menuService.getThirdMenus(allMenusByStateAndPrimaryKeys).getData());
        model.addAttribute("parentMenu", menuMapper.selectByPrimaryKey(selectByPrimaryKey.getParentId()));
        model.addAttribute("currentMenu", selectByPrimaryKey);
        return "admin/order/index";
    }

    /**
     * 订单详情查看页面
     * @param model
     * @param orderId
     * @return
     */
    @RequestMapping(value="/view",method=RequestMethod.GET)
    public String view(Model model, Long orderId) {
        model.addAttribute("OrderItemList", orderService.getOrderItemByOrderId(orderId));
        model.addAttribute("Order", orderService.selectByPrimaryKey(orderId));
        return "admin/order/view";
    }

    /**
     * 修改订单状态页面
     * @param model
     * @param orderId
     * @return
     */
    @RequestMapping(value="/edit_state",method=RequestMethod.GET)
    public String editState(Model model, Long orderId) {
        model.addAttribute("Order", orderService.selectByPrimaryKey(orderId));
        return "admin/order/edit_state";
     * @param user
     * @param repassword
     * @param cpacha
     * @param request
     * @return
     */
    @RequestMapping(value="/register",method=RequestMethod.POST)
    @ResponseBody
    public ResponseVo<Boolean> register(User user, String repassword, String cpacha, HttpServletRequest request) {
        return userService.register(user, repassword, cpacha, request);
    }

    /**
     * 用户个人信息修改操作处理
     * @param user
     * @return
     */
    @RequestMapping(value="/update_info",method=RequestMethod.POST)
    @ResponseBody
    public ResponseVo<String> updateInfo(User user){
        return userService.updateInfo(user);
    }

    /**
     * 用户修改密码操作处理
     * @param prePassword
     * @param newPassword
     * @param reNewPassword
     * @param request
     * @return
     */
    @RequestMapping(value="/update_passwd",method=RequestMethod.POST)
    @ResponseBody
    public ResponseVo<Boolean> updatePasswd(String prePassword, String newPassword, String reNewPassword, HttpServletRequest request){
        return userService.updatePasswd(prePassword, newPassword, reNewPassword, request);
    }

}
package com.demo.controller.admin;

    @RequestMapping(value="/edit_state",method=RequestMethod.POST)
    @ResponseBody
    public ResponseVo<Boolean> editState(Integer state, Long orderId){
        return orderService.updateOrderState(orderId, state);
    }

    /**
     * 删除订单操作处理
     * @param orderId
     * @return
     */
    @RequestMapping(value="/delete",method=RequestMethod.POST)
    @ResponseBody
    public ResponseVo<Boolean> delete(Long orderId){
        return orderService.deleteOrder(orderId);
    }

}
package com.demo.controller.common;

/**
 * UEditor图片上传
 */
@Controller
@RequestMapping("/ueditor")
public class FileController {
    }

    /**
     * 添加商品操作处理
     * @param product
     * @return
     */
    @RequestMapping(value="/add",method=RequestMethod.POST)
    @ResponseBody
    public ResponseVo<Boolean> add(Product product){
        return productService.add(product);
    }

    /**
     * 编辑商品操作处理
     * @param product
     * @return
     */
    @RequestMapping(value="/edit",method=RequestMethod.POST)
    @ResponseBody
    public ResponseVo<Boolean> edit(Product product){
        return productService.edit(product);
    }

    /**
     * 删除商品操作处理
     * @param id
     * @return
     */
    @RequestMapping(value="/delete",method=RequestMethod.POST)
    @ResponseBody
    public ResponseVo<Boolean> delete(Long id){
        return productService.delete(id);
    }
}
package com.demo.controller.admin;

			try{
				//验证token
				DecodedJWT decodedJWT = JWTUtil.verifyToken(token);
				String id = decodedJWT.getClaim("id").asString();
				request.setAttribute("id", decodedJWT.getClaim("id").asString());
				request.setAttribute("username", decodedJWT.getClaim("username").asString());
				request.setAttribute("email", decodedJWT.getClaim("email").asString());
				request.setAttribute("phone", decodedJWT.getClaim("phone").asString());
				request.setAttribute("headPic", decodedJWT.getClaim("headPic").asString());
				request.setAttribute("cartTotal", cartService.total(Long.valueOf(id)).getData()); //获取购物车商品种类
			}catch(Exception e){
				e.printStackTrace();
				//token失效或非法
				//判断该路径要不要验证
				for(String str : RuntimeConstant.userNotNeedConfirmUrl){
					if(requestURI.equals(str)){
						temp = true; //该路径不需要验证
					}
				}
				if(temp == false) {
					//该路径需要验证,并进行是否是ajax请求判断
					//首先判断是否是ajax请求
					if (StringUtil.isAjax(request)) {
						//表示是ajax请求
						try {
							response.setCharacterEncoding("UTF-8");
							//JSON.parseObject,是将Json字符串转化为相应的对象;JSON.toJSONString则是将对象转化为Json字符串。
							response.getWriter().write(JSON.toJSONString(CodeMsg.USER_SESSION_EXPIRED));
						} catch (IOException e2) {
							e2.printStackTrace();
						}
						return false;
					}
					//不是ajax请求,直接跳转页面
					try {
						log.info("没有登录或token非法,跳转登录界面!当前URL={}",requestURI);
						response.sendRedirect("/home/user/login");
					} catch (IOException e3) {
						e3.printStackTrace();
					}
					return false;
				}
			}
		}
		return true;
	}
        model.addAttribute("currentMenu", selectByPrimaryKey);
        return "admin/order/index";
    }

    /**
     * 订单详情查看页面
     * @param model
     * @param orderId
     * @return
     */
    @RequestMapping(value="/view",method=RequestMethod.GET)
    public String view(Model model, Long orderId) {
        model.addAttribute("OrderItemList", orderService.getOrderItemByOrderId(orderId));
        model.addAttribute("Order", orderService.selectByPrimaryKey(orderId));
        return "admin/order/view";
    }

    /**
     * 修改订单状态页面
     * @param model
     * @param orderId
     * @return
     */
    @RequestMapping(value="/edit_state",method=RequestMethod.GET)
    public String editState(Model model, Long orderId) {
        model.addAttribute("Order", orderService.selectByPrimaryKey(orderId));
        return "admin/order/edit_state";
    }

    /**
     * 修改订单状态操作处理
     * @param state
     * @param orderId
     * @return
     */
    @RequestMapping(value="/edit_state",method=RequestMethod.POST)
    @ResponseBody
    public ResponseVo<Boolean> editState(Integer state, Long orderId){
        return orderService.updateOrderState(orderId, state);
    }

    /**
     * 删除订单操作处理
     * @param orderId
     * @return
     */
    @RequestMapping(value="/delete",method=RequestMethod.POST)
    @ResponseBody
    public ResponseVo<Boolean> delete(Long orderId){
        return orderService.deleteOrder(orderId);
    }
    /**
     * 订单详情查看页面
     * @param model
     * @param orderId
     * @return
     */
    @RequestMapping(value="/view",method=RequestMethod.GET)
    public String view(Model model, Long orderId) {
        model.addAttribute("OrderItemList", orderService.getOrderItemByOrderId(orderId));
        model.addAttribute("Order", orderService.selectByPrimaryKey(orderId));
        return "admin/order/view";
    }

    /**
     * 修改订单状态页面
     * @param model
     * @param orderId
     * @return
     */
    @RequestMapping(value="/edit_state",method=RequestMethod.GET)
    public String editState(Model model, Long orderId) {
        model.addAttribute("Order", orderService.selectByPrimaryKey(orderId));
        return "admin/order/edit_state";
    }

    /**
     * 修改订单状态操作处理
     * @param state
     * @param orderId
     * @return
     */
    @RequestMapping(value="/edit_state",method=RequestMethod.POST)
    @ResponseBody
    public ResponseVo<Boolean> editState(Integer state, Long orderId){
        return orderService.updateOrderState(orderId, state);
    }

    /**
     * 删除订单操作处理
     * @param orderId
     * @return
     */
    @RequestMapping(value="/delete",method=RequestMethod.POST)
    @ResponseBody
    public ResponseVo<Boolean> delete(Long orderId){
        return orderService.deleteOrder(orderId);
    }

        model.addAttribute("currentMenu", selectByPrimaryKey);
        return "admin/order/index";
    }

    /**
     * 订单详情查看页面
     * @param model
     * @param orderId
     * @return
     */
    @RequestMapping(value="/view",method=RequestMethod.GET)
    public String view(Model model, Long orderId) {
        model.addAttribute("OrderItemList", orderService.getOrderItemByOrderId(orderId));
        model.addAttribute("Order", orderService.selectByPrimaryKey(orderId));
        return "admin/order/view";
    }

    /**
     * 修改订单状态页面
     * @param model
     * @param orderId
     * @return
     */
    @RequestMapping(value="/edit_state",method=RequestMethod.GET)
    public String editState(Model model, Long orderId) {
        model.addAttribute("Order", orderService.selectByPrimaryKey(orderId));
        return "admin/order/edit_state";
    }

    /**
     * 修改订单状态操作处理
     * @param state
     * @param orderId
     * @return
     */
    @RequestMapping(value="/edit_state",method=RequestMethod.POST)
    @ResponseBody
    public ResponseVo<Boolean> editState(Integer state, Long orderId){
        return orderService.updateOrderState(orderId, state);
    }

    /**
     * 删除订单操作处理
     * @param orderId
     * @return
     */
    @RequestMapping(value="/delete",method=RequestMethod.POST)
    @ResponseBody
    public ResponseVo<Boolean> delete(Long orderId){
        return orderService.deleteOrder(orderId);

/**
 * 公用的上传类
 */
@RequestMapping("/upload")
@Controller
public class UploadController {

    private String uploadPhotoSufix = ".jpg,.png,.gif,.jpeg";

    private long uploadPhotoMaxSize = 10240;   //大小1024KB

    private String uploadPhotoPath = System.getProperty("user.dir") + "/src/main/resources/upload/photo/";

    private long uploadAttachmentMaxSize = 204800;   //大小204800KB

    private String uploadAttachmentPath = System.getProperty("user.dir") + "/src/main/resources/upload/attachment/";

    private Logger log = LoggerFactory.getLogger(UploadController.class);

    @Autowired
    private AttachmentMapper attachmentMapper;

    /**
     * 图片统一上传类
     *
     * @param photo
     * @return
     */
    @RequestMapping(value = "/upload_photo", method = RequestMethod.POST)
    @ResponseBody
    public ResponseVo<String> uploadPhoto(@RequestParam(name = "photo", required = true) MultipartFile photo) {
        //判断文件类型是否是图片
        String originalFilename = photo.getOriginalFilename();
        //获取文件后缀
        String suffix = originalFilename.substring(originalFilename.lastIndexOf("."), originalFilename.length());

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值