package com.controller;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.entity.Article;
import com.entity.Bbs;
import com.entity.Cart;
import com.entity.Cate;
import com.entity.Complains;
import com.entity.Details;
import com.entity.Fav;
import com.entity.Goods;
import com.entity.Hist;
import com.entity.Orders;
import com.entity.Rebbs;
import com.entity.Topic;
import com.entity.Users;
import com.service.ArticleService;
import com.service.BbsService;
import com.service.CartService;
import com.service.CateService;
import com.service.ComplainsService;
import com.service.DetailsService;
import com.service.FavService;
import com.service.GoodsService;
import com.service.HistService;
import com.service.OrdersService;
import com.service.RebbsService;
import com.service.RecommendService;
import com.service.TopicService;
import com.service.UsersService;
import com.util.PageHelper;
import com.util.VeDate;
//定义为控制器
@Controller
// 设置路径
@RequestMapping("/index")
public class IndexController extends BaseController {
@Autowired
private UsersService usersService;
@Autowired
private ArticleService articleService;
@Autowired
private CateService cateService;
@Autowired
private GoodsService goodsService;
@Autowired
private CartService cartService;
@Autowired
private OrdersService ordersService;
@Autowired
private DetailsService detailsService;
@Autowired
private HistService histService;
@Autowired
private FavService favService;
@Autowired
private ComplainsService complainsService;
@Autowired
private TopicService topicService;
@Autowired
private BbsService bbsService;
@Autowired
private RebbsService rebbsService;
@Autowired
private RecommendService recommendService;
// 公共方法 提供公共查询数据
private void front() {
this.getRequest().setAttribute("title", "网上购物系统");
List<Cate> cateList = this.cateService.getAllCate();
this.getRequest().setAttribute("cateList", cateList);
// 推荐商品的算法 1 用户未登录 直接调用GoodsService的getGoodsByHot方法
// 2 用户登录 但是没有浏览商品 则调用1
// 3 用户登录 且有浏览的商品 调用recommendService 通过协同过滤算法 自动推荐商品
if (this.getSession().getAttribute("userid") == null) {
List<Goods> hotList = this.goodsService.getGoodsByHot();
this.getRequest().setAttribute("hotList", hotList);
} else {
String userid = (String) this.getSession().getAttribute("userid");
Hist hist = new Hist();
hist.setUsersid(userid);
List<Hist> histList = this.histService.getHistByCond(hist);
if (histList.size() == 0) {
List<Goods> hotList = this.goodsService.getGoodsByHot();
this.getRequest().setAttribute("hotList", hotList);
} else {
List<Goods> hotList = this.recommendService.getRecommend(userid);
this.getRequest().setAttribute("hotList", hotList);
System.out.println(hotList.size());
}
}
}
// 首页显示
@RequestMapping("index.action")
public String index() {
this.front();
List<Cate> cateList = this.cateService.getCateFront();
List<Cate> frontList = new ArrayList<Cate>();
for (Cate cate : cateList) {
List<Goods> goodsList = this.goodsService.getGoodsByCate(cate.getCateid());
cate.setGoodsList(goodsList);
frontList.add(cate);
}
this.getRequest().setAttribute("frontList", frontList);
return "users/index";
}
@RequestMapping("flash.action")
public String flash() {
this.front();
return "users/flash";
}
// 公告
@RequestMapping("article.action")
public String article(String number) {
this.front();
List<Article> tempList = this.articleService.getAllArticle();
PageHelper.getIndexPage(tempList, "article", "article", null, 10, number, this.getRequest());
return "users/article";
}
// 阅读公告
@RequestMapping("read.action")
public String read(String id) {
this.front();
Article article = this.articleService.getArticleById(id);
article.setHits("" + (Integer.parseInt(article.getHits()) + 1));
this.articleService.updateArticle(article);
this.getRequest().setAttribute("article", article);
return "users/read";
}
// 准备登录
@RequestMapping("preLogin.action")
public String prelogin() {
this.front();
return "users/login";
}
// 用户登录
@RequestMapping("login.action")
public String login() {
this.front();
String username = this.getRequest().getParameter("username");
String password = this.getRequest().getParameter("password");
Users u = new Users();
u.setUsername(username);
List<Users> usersList = this.usersService.getUsersByCond(u);
if (usersList.size() == 0) {
this.getSession().setAttribute("message", "用户名不存在");
return "redirect:/index/preLogin.action";
} else {
Users users = usersList.get(0);
if (password.equals(users.getPassword())) {
this.getSession().setAttribute("userid", users.getUsersid());
this.getSession().setAttribute("username", users.getUsername());
this.getSession().setAttribute("users", users);
return "redirect:/index/index.action";
} else {
this.getSession().setAttribute("message", "密码错误");
return "redirect:/index/preLogin.action";
}
}
}
// 准备注册
@RequestMapping("preReg.action")
public String preReg() {
this.front();
return "users/register";
}
// 用户注册
@RequestMapping("register.action")
public String register(Users users) {
this.front();
Users u = new Users();
u.setUsername(users.getUsername());
List<Users> usersList = this.usersService.getUsersByCond(u);
if (usersList.size() == 0) {
users.setRegdate(VeDate.getStringDateShort());
this.usersService.insertUsers(users);
} else {
this.getSession().setAttribute("message", "用户名已存在");
return "redirect:/index/preReg.action";
}
return "redirect:/index/preLogin.action";
}
// 退出登录
@RequestMapping("exit.action")
public String exit() {
this.front();
this.getSession().removeAttribute("userid");
this.getSession().removeAttribute("username");
this.getSession().removeAttribute("users");
return "redirect:/index/index.action";
}
// 准备修改密码
@RequestMapping("prePwd.action")
public String prePwd() {
this.front();
if (this.getSession().getAttribute("userid") == null) {
return "redirect:/index/preLogin.action";
}
return "users/editpwd";
}
// 修改密码
@RequestMapping("editpwd.action")
public String editpwd() {
this.front();
if (this.getSession().getAttribute("userid") == null) {
return "redirect:/index/preLogin.action";
}
String userid = (String) this.getSession().getAttribute("userid");
String password = this.getRequest().getParameter("password");
String repassword = this.getRequest().getParameter("repassword");
Users users = this.usersService.getUsersById(userid);
if (password.equals(users.getPassword())) {
users.setPassword(repassword);
this.usersService.updateUsers(users);
} else {
this.getSession().setAttribute("message", "旧密码错误");
return "redirect:/index/prePwd.action";
}
return "redirect:/index/prePwd.action";
}
@RequestMapping("usercenter.action")
public String usercenter() {
this.front();
if (this.getSession().getAttribute("userid") == null) {
return "redirect:/index/preLogin.action";
}
return "users/usercenter";
}
@RequestMapping("userinfo.action")
public String userinfo() {
this.front();
if (this.getSession().getAttribute("userid") == null) {
return "redirect:/index/preLogin.action";
}
String
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
近几年毕业设计和毕业答辩的要求和难度不断提升,传统的毕业项目缺少创新和亮点,往往达不到毕业答辩的要求,这几年教育机构专门针对各大院校毕业设计进行培训指导,衍生出很多届优秀学员的毕业项目,为了让广大同学都可以顺利通过答辩,我作为过来人给大家准备了一些资料,同学们可以互相参考,我建议大家是要有自己的想法来重构项目,而不是照搬抄袭。近几年毕业设计和毕业答辩的要求和难度不断提升,传统的毕业项目缺少创新和亮点,往往达不到毕业答辩的要求,这几年教育机构专门针对各大院校毕业设计进行培训指导,衍生出很多届优秀学员的毕业项目,为了让广大同学都可以顺利通过答辩,我作为过来人给大家准备了一些资料,同学们可以互相参考,我建议大家是要有自己的想法来重构项目,而不是照搬抄袭。近几年毕业设计和毕业答辩的要求和难度不断提升,传统的毕业项目缺少创新和亮点,往往达不到毕业答辩的要求,这几年教育机构专门针对各大院校毕业设计进行培训指导,衍生出很多届优秀学员的毕业项目,为了让广大同学都可以顺利通过答辩,我作为过来人给大家准备了一些资料,同学们可以互相参考,我建议大家是要有自己的想法来重构项目,而不是照搬抄袭。
资源推荐
资源详情
资源评论
收起资源包目录
ssm_wsgwxt123.rar (2000个子文件)
IndexController.class 21KB
IndexController.class 21KB
RecommendServiceImpl.class 10KB
RecommendServiceImpl.class 10KB
VeDate.class 10KB
VeDate.class 10KB
PageHelper.class 6KB
PageHelper.class 6KB
AdminController.class 6KB
AdminController.class 6KB
TopicController.class 5KB
TopicController.class 5KB
ComplainsController.class 5KB
ComplainsController.class 5KB
GoodsController.class 5KB
GoodsController.class 5KB
ChartController.class 5KB
ChartController.class 5KB
OrdersController.class 5KB
OrdersController.class 5KB
RebbsController.class 4KB
RebbsController.class 4KB
DetailsController.class 4KB
DetailsController.class 4KB
BbsController.class 4KB
BbsController.class 4KB
UsersController.class 4KB
UsersController.class 4KB
ArticleController.class 4KB
ArticleController.class 4KB
RandomValidateCode.class 4KB
RandomValidateCode.class 4KB
CateController.class 4KB
CateController.class 4KB
UploadController.class 3KB
UploadController.class 3KB
Goods.class 3KB
Goods.class 3KB
Topic.class 3KB
Orders.class 3KB
Topic.class 3KB
Orders.class 3KB
Users.class 3KB
Users.class 3KB
Cart.class 2KB
Cart.class 2KB
Bbs.class 2KB
Bbs.class 2KB
Complains.class 2KB
Complains.class 2KB
Rebbs.class 2KB
Rebbs.class 2KB
Excel.class 2KB
Excel.class 2KB
GoodsServiceImpl.class 2KB
GoodsServiceImpl.class 2KB
Admin.class 2KB
Admin.class 2KB
Details.class 2KB
Details.class 2KB
Fav.class 2KB
Fav.class 2KB
Article.class 2KB
Article.class 2KB
Cate.class 2KB
Cate.class 2KB
ComplainsServiceImpl.class 2KB
ComplainsServiceImpl.class 2KB
CateServiceImpl.class 2KB
CateServiceImpl.class 2KB
BaseController.class 2KB
BaseController.class 2KB
ArticleServiceImpl.class 2KB
DetailsServiceImpl.class 2KB
ArticleServiceImpl.class 2KB
DetailsServiceImpl.class 2KB
Hist.class 2KB
Hist.class 2KB
OrdersServiceImpl.class 2KB
OrdersServiceImpl.class 2KB
HistServiceImpl.class 2KB
HistServiceImpl.class 2KB
RebbsServiceImpl.class 2KB
AdminServiceImpl.class 2KB
TopicServiceImpl.class 2KB
UsersServiceImpl.class 2KB
RebbsServiceImpl.class 2KB
AdminServiceImpl.class 2KB
TopicServiceImpl.class 2KB
UsersServiceImpl.class 2KB
CartServiceImpl.class 2KB
CartServiceImpl.class 2KB
BbsServiceImpl.class 2KB
FavServiceImpl.class 2KB
BbsServiceImpl.class 2KB
FavServiceImpl.class 2KB
ImgController.class 2KB
ImgController.class 2KB
MD5.class 1KB
MD5.class 1KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
诚信赢天下
- 粉丝: 2971
- 资源: 102
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- vscode配置c/c 环境教程
- vscode配置c/c 环境教程
- 基于matlab实现电磁优化计算功能,进行线型规划优化电磁设计.rar
- 基于matlab实现带精英策略的非支配排序遗传算法matlab 源码.rar
- 基于matlab实现差分进化算法,最新的用于替代遗传算法,是以后的主要发展方法.rar
- VSCode配置c/c++环境教程.md
- 基于matlab实现标准合作型协同进化遗传算法matlab源程序
- 七下人教.zip
- 基于matlab实现本份代码能对图像进行gabor滤波处理,结合指纹方向图以及指纹沟壑频率特性,对指纹图像进行增强.rar
- 基于matlab实现RBM神经网络实现了手写数字体识别的GUI程序.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功