水果蔬菜批发商城-JAVA【毕业设计、快速开发、源码、开题报告】

 

功能介绍

用用户模块分析

注册:用户要进一步使用平台需要进行注册,在注册时,需要选择按钮“去注册”,输入注册用户名、注册密码、姓名、性别、出生日期和联系手机号即可。

登录:正确输入注册用户名和注册密码即可登录。

首页:用户打开系统网站,最先进入首页,首页显示动态商城广告、热门商品图片、名称以及价格,点击商品,可查看商品详情,商品的类型和用户的评论信息。

网站公告:用户点开网站公告,点开文章标题即可查看公告详情,在网站公告页可显示文章标题、作者以及添加日期。支持统计文章数量,点击首页上一页、下一页、尾页进行翻页查询。在页面左方提供所有的果蔬分类和随机商品推荐。

推荐果蔬:用户点击推荐果蔬,在页面左侧显示所有的果蔬分类和随机商品推荐,点击相关果蔬,可以选择性查看某一类型的果蔬。在页面右侧显示果蔬商品的列表,提供商品名称和价格信息,点击商品,可查看商品详情,商品的类型、销量、点击数和用户的评论信息。

销售网络:游客点击销售网络,可查看优品果蔬在中国的供货点所处位置信息,提供了下载供货配给站地图的功能和数据视图的功能,供货站点在省份中用红色点进行标注,并显示具体位置信息。地图显示供货点在省份密集程度,越密集颜色越红,若无供货点,则该省区域显示灰色。数据视图可对各省供给站进行统计并显示每个省份供给站的个数。

全部果蔬:用户点击全部果蔬,在页面左侧显示所有的果蔬分类和随机商品推荐,点击相关果蔬,可以选择性查看某一类型的果蔬。在页面右侧显示果蔬商品的列表,提供商品名称和价格信息,点击商品,可查看商品详情,商品的类型、销量、点击数和用户的评论信息。

联系客服:用户点击联系客服,系统提示QQ登录,添加QQ客服好友,进行咨询购买果蔬相关信息。

购物车:用户点击进入商品详情页,将商品加入购物车,在购物车页面中会显示加购的商品信息、个数、价格,用户对不喜欢的商品也可以进行移除。点击“继续购物”按钮则进入商品首页,购买商品。点击“下订单”则进入订单提交页面。用户选择城市以及供货点,提货日期,点击确定即可。

个人中心:用户点击个人中心,里面分成四个子模块,分别为用户中心、用户信息、修改密码、我的订单。其中用户信息是个人资料,用户可对个人资料进行修改。修改密码仅需要输入原密码、新密码、确认密码即可完成修改。我的订单可查看购买订单的时间和商品价格等信息,每一个订单都显示订单的状态,已付款和未付款,未付款可点击付款按钮进行付款,付款方式可选择银行卡,银行卡号,密码,或者使用支付宝进行付款。用户点击订单明细可查看购买商品的清单。

管管理员模块分析

登录:输入管理员帐号和密码即可。

修改密码:输入原密码、新密码、确认密码即可完成修改。

管理员信息:分为新增管理员信息、管理员信息列表和管理员信息查询。管理员需要后台进行新增,不允许注册,新增管理员仅需输入用户名、密码、姓名和手机号即可完成添加。管理员信息列表可查看管理员的信息,包括用户名、姓名、联系手机和创建日期,点击编辑可对管理员进行修改,点击删除可对管理员进行删除。管理员信息查询可以输入关键字对管理员信息进行查询。

网站用户信息:分为网站用户信息列表和网站用户信息查询。网站用户信息列表可查看网站用户的信息,包括用户名、姓名、性别、出生日期、联系手机和注册日期,点击删除可对网站用户进行删除。网站用户信息查询可以输入关键字对网站用户信息进行查询。

新闻公告信息:分为新增新闻公告信息、新闻公告信息列表和新闻公告信息查询。新闻公告需要后台进行新增,新增新闻公告仅需输入标题、图片和内容即可完成添加。新闻公告信息列表可查看新闻公告的信息,包括标题、点击数和发布日期,点击编辑可对新闻公告进行修改,点击删除可对新闻公告进行删除。新闻公告信息查询可以输入关键字对新闻公告信息进行查询。

果蔬类型信息:分为新增果蔬类型信息、果蔬类型信息列表和果蔬类型信息查询。果蔬类型需要后台进行新增,果蔬类型公告仅需输入类型名称和备注即可完成添加。果蔬类型信息列表可查看果蔬类型的信息,包括类型名称、备注和创建日期,点击编辑可对果蔬类型进行修改,点击删除可对果蔬类型进行删除。果蔬类型信息查询可以输入关键字对果蔬商品信息进行查询。

城市信息:分为新增城市信息、城市信息列表和城市信息查询。城市需要后台进行新增,城市公告仅需输入城市名称即可完成添加。城市信息列表可查看城市的信息,点击编辑可对城市进行修改,点击删除可对城市进行删除。城市信息查询可以输入关键字对城市信息进行查询。

配货点信息:分为新增配货点信息、配货点信息列表和配货点信息查询。配货点需要后台进行新增,配货点公告仅需输入配货点名称、城市、地址、联系手机和备注即可完成添加。配货点信息列表可查看配货点名称、城市、地址、联系手机和备注,点击编辑可对配货点进行修改,点击删除可对配货点进行删除。配货点信息查询可以输入关键字对配货点信息进行查询。

果蔬商品信息:分为新增果蔬商品信息、果蔬商品信息列表和果蔬商品信息查询。果蔬商品需要后台进行新增,果蔬商品公告仅需输入果蔬名称、图片、果蔬类型、价格、是否推荐、销售周期开始日期和结束日期和果蔬介绍即可完成添加。果蔬商品信息列表可查看果蔬商品的信息,包括果蔬名称、果蔬类型、价格、是否推荐、销售周期开始日期和结束日期、点击数和销售单数,点击编辑可对果蔬商品进行修改,点击删除可对果蔬商品进行删除。果蔬商品信息查询可以输入关键字对果蔬商品信息进行查询。

果蔬订单信息:分为果蔬订单信息列表和果蔬订单信息查询。果蔬订单信息列表可查看果蔬订单的信息,包括订单号、用户、总计、付款状态和下单日期,点击编辑可对果蔬订单进行修改,点击删除可对果蔬订单进行删除。果蔬订单信息查询可以输入关键字对果蔬订单信息进行查询。

果蔬评价信息:分为果蔬订单信息列表和果蔬订单信息查询。果蔬订单信息列表可查看果蔬订单的信息,包括订单号、用户、总计、付款状态和下单日期,点击编辑可对果蔬订单进行修改,点击删除可对果蔬订单进行删除。果蔬订单信息查询可以输入关键字对果蔬订单信息进行查询。

部分功能模块代码

package com.action;

import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.entity.Admin;
import com.service.AdminService;
import com.util.PageHelper;
import com.util.VeDate;

//定义为控制器
@Controller
// 设置路径
@RequestMapping(value = "/admin", produces = "text/plain;charset=utf-8")
public class AdminAction extends BaseAction {
	// 注入Service 由于标签的存在 所以不需要getter setter
	@Autowired
	@Resource
	private AdminService adminService;

	// 管理员登录 1 验证用户名是否存在 2 验证密码是否正确
	@RequestMapping("login.action")
	public String login() {
		String username = this.getRequest().getParameter("username");
		String password = this.getRequest().getParameter("password");
		Admin adminEntity = new Admin();
		adminEntity.setUsername(username);
		List<Admin> adminlist = this.adminService.getAdminByCond(adminEntity);
		if (adminlist.size() == 0) {
			this.getRequest().setAttribute("message", "用户名不存在");
			return "admin/index";
		} else {
			Admin admin = adminlist.get(0);
			if (password.equals(admin.getPassword())) {
				this.getSession().setAttribute("adminid", admin.getAdminid());
				this.getSession().setAttribute("adminname", admin.getUsername());
				this.getSession().setAttribute("realname", admin.getRealname());
			} else {
				this.getRequest().setAttribute("message", "密码错误");
				return "admin/index";
			}
		}
		return "admin/main";
	}

	// 修改密码
	@RequestMapping("editpwd.action")
	public String editpwd() {
		String adminid = (String) this.getSession().getAttribute("adminid");
		String password = this.getRequest().getParameter("password");
		String repassword = this.getRequest().getParameter("repassword");
		Admin admin = this.adminService.getAdminById(adminid);
		if (password.equals(admin.getPassword())) {
			admin.setPassword(repassword);
			this.adminService.updateAdmin(admin);
		} else {
			this.getRequest().setAttribute("message", "旧密码错误");
		}
		return "admin/editpwd";
	}

	// 管理员退出登录
	@RequestMapping("exit.action")
	public String exit() {
		this.getSession().removeAttribute("adminid");
		this.getSession().removeAttribute("adminname");
		this.getSession().removeAttribute("realname");
		return "admin/index";
	}

	// 准备添加数据
	@RequestMapping("createAdmin.action")
	public String createAdmin() {
		return "admin/addadmin";
	}

	// 添加数据
	@RequestMapping("addAdmin.action")
	public String addAdmin(Admin admin) {
		admin.setAddtime(VeDate.getStringDateShort());
		this.adminService.insertAdmin(admin);
		return "redirect:/admin/createAdmin.action";
	}

	// 通过主键删除数据
	@RequestMapping("deleteAdmin.action")
	public String deleteAdmin(String id) {
		this.adminService.deleteAdmin(id);
		return "redirect:/admin/getAllAdmin.action";
	}

	// 批量删除数据
	@RequestMapping("deleteAdminByIds.action")
	public String deleteAdminByIds() {
		String[] ids = this.getRequest().getParameterValues("adminid");
		for (String adminid : ids) {
			this.adminService.deleteAdmin(adminid);
		}
		return "redirect:/admin/getAllAdmin.action";
	}

	// 更新数据
	@RequestMapping("updateAdmin.action")
	public String updateAdmin(Admin admin) {
		this.adminService.updateAdmin(admin);
		return "redirect:/admin/getAllAdmin.action";
	}

	// 显示全部数据
	@RequestMapping("getAllAdmin.action")
	public String getAllAdmin(String number) {
		List<Admin> adminList = this.adminService.getAllAdmin();
		PageHelper.getPage(adminList, "admin", null, null, 10, number, this.getRequest(), null);
		return "admin/listadmin";
	}

	// 按条件查询数据 (模糊查询)
	@RequestMapping("queryAdminByCond.action")
	public String queryAdminByCond(String cond, String name, String number) {
		Admin admin = new Admin();
		if (cond != null) {
			if ("username".equals(cond)) {
				admin.setUsername(name);
			}
			if ("password".equals(cond)) {
				admin.setPassword(name);
			}
			if ("realname".equals(cond)) {
				admin.setRealname(name);
			}
			if ("contact".equals(cond)) {
				admin.setContact(name);
			}
			if ("addtime".equals(cond)) {
				admin.setAddtime(name);
			}
		}

		List<String> nameList = new ArrayList<String>();
		List<String> valueList = new ArrayList<String>();
		nameList.add(cond);
		valueList.add(name);
		PageHelper.getPage(this.adminService.getAdminByLike(admin), "admin", nameList, valueList, 10, number, this.getRequest(), "query");
		name = null;
		cond = null;
		return "admin/queryadmin";
	}

	// 按主键查询数据
	@RequestMapping("getAdminById.action")
	public String getAdminById(String id) {
		Admin admin = this.adminService.getAdminById(id);
		this.getRequest().setAttribute("admin", admin);
		return "admin/editadmin";
	}

	public AdminService getAdminService() {
		return adminService;
	}

	public void setAdminService(AdminService adminService) {
		this.adminService = adminService;
	}

}
package com.service.impl;

import java.util.List;
import javax.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.dao.AdminDAO;
import com.entity.Admin;
import com.service.AdminService;

@Service("adminService")
public class AdminServiceImpl implements AdminService {
	@Autowired
	@Resource
	private AdminDAO adminDAO;

	@Override // 继承接口的新增 返回值0(失败),1(成功)
	public int insertAdmin(Admin admin) {
		return this.adminDAO.insertAdmin(admin);
	}

	@Override // 继承接口的更新 返回值0(失败),1(成功)
	public int updateAdmin(Admin admin) {
		return this.adminDAO.updateAdmin(admin);
	}

	@Override // 继承接口的删除 返回值0(失败),1(成功)
	public int deleteAdmin(String adminid) {
		return this.adminDAO.deleteAdmin(adminid);
	}

	@Override // 继承接口的查询全部
	public List<Admin> getAllAdmin() {
		return this.adminDAO.getAllAdmin();
	}

	@Override // 继承接口的按条件精确查询
	public List<Admin> getAdminByCond(Admin admin) {
		return this.adminDAO.getAdminByCond(admin);
	}

	@Override // 继承接口的按条件模糊查询
	public List<Admin> getAdminByLike(Admin admin) {
		return this.adminDAO.getAdminByLike(admin);
	}

	@Override // 继承接口的按主键查询 返回Entity实例
	public Admin getAdminById(String adminid) {
		return this.adminDAO.getAdminById(adminid);
	}

}
package com.dao;

import java.util.List;
import org.springframework.stereotype.Repository;
import com.entity.Admin;

@Repository("adminDAO") // Repository标签定义数据库连接的访问 Spring中直接
public interface AdminDAO {

	/**
	 * AdminDAO 接口 可以按名称直接调用admin.xml配置文件的SQL语句
	 */

	// 插入数据 调用entity包admin.xml里的insertAdmin配置 返回值0(失败),1(成功)
	public int insertAdmin(Admin admin);

	// 更新数据 调用entity包admin.xml里的updateAdmin配置 返回值0(失败),1(成功)
	public int updateAdmin(Admin admin);

	// 删除数据 调用entity包admin.xml里的deleteAdmin配置 返回值0(失败),1(成功)
	public int deleteAdmin(String adminid);

	// 查询全部数据 调用entity包admin.xml里的getAllAdmin配置 返回List类型的数据
	public List<Admin> getAllAdmin();

	// 按照Admin类里面的值精确查询 调用entity包admin.xml里的getAdminByCond配置 返回List类型的数据
	public List<Admin> getAdminByCond(Admin admin);

	// 按照Admin类里面的值模糊查询 调用entity包admin.xml里的getAdminByLike配置 返回List类型的数据
	public List<Admin> getAdminByLike(Admin admin);

	// 按主键查询表返回单一的Admin实例 调用entity包admin.xml里的getAdminById配置
	public Admin getAdminById(String adminid);

}

论文目录

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值