源码获取:俺的博客首页 "资源" 里下载!
项目介绍
本项目分为管理员与用户两种角色;
管理员角色包含以下功能:
管理员登录,商品管理,订单管理,人员管理,轮播图管理,评价管理,商品分类管理,修改管理员资料,修改密码等功能。
用户角色包含以下功能:
用户登录,查看首页,查看商品详情,查找商品,查看我的订单,修改密码,添加地址,查看购物车,确认下单 ,提交订单,修改个人资料等功能。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:是;
技术栈
1. 后端:Spring+SpringMVC+Mbytes
2. 前端:JSP+css+javascript+bootstrap+jQuery+layui+echarts
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中applicationContext.xml配置文件中的数据库配置改为自己的配置;
4. 运行项目,在浏览器中输入localhost:8080/ssm_xiezishop
商品管理控制层:
@Controller
@RequestMapping("/goods")
public class GoodsController {
@Autowired
private IGoodsService goodsService;
@Autowired
private IGuessService guessService;
@Autowired
private IEvaluateService evaluateService;
@RequestMapping("findAll")
public String findAllGoods(Model model){
List<Goods> list = goodsService.findAll();
model.addAttribute("goodsList", list);
return "list";
}
@RequestMapping("/findGoodsDiscounts")
@ResponseBody
public JSONObject findGoodsDiscounts(){
PageInfo<Goods> info = goodsService.findGoodsDiscounts();
JSONObject obj = new JSONObject();
obj.put("msg", "");
obj.put("code", 0);
obj.put("count", info.getTotal());
obj.put("data", info.getList());
return obj;
}
@RequestMapping("{goodsId}")
public String findAllGoods(@PathVariable("goodsId")Integer goodsId,Model model){
Goods goods = goodsService.findById(goodsId);
List<Evaluate> evaList = evaluateService.findEvaluateByGoodsId(goodsId);
model.addAttribute("goods", goods);
model.addAttribute("evaList", evaList);
return "detail";
}
@RequestMapping("preUpdate")
public String preUpdate(Integer goodsId,Model model){
Goods goods = goodsService.findById(goodsId);
model.addAttribute("goods", goods);
return "update";
}
@RequestMapping("findBySplitPage")
@ResponseBody
public JSONObject findBySplitPage(Integer page,Integer limit,String keyword){
PageInfo<Goods> info = goodsService.findBySplitPage(page, limit,keyword);
JSONObject obj=new JSONObject();
obj.put("msg", "");
obj.put("code", 0);
obj.put("count", info.getTotal());
obj.put("data", info.getList());
return obj;
}
@RequestMapping("findGoodsByType")
@ResponseBody
public List<Goods> findGoodsByType(Integer typeId){
List<Goods> list = goodsService.findGoodsByType(typeId);
return list;
}
@RequestMapping("detail")
public String findGoodsDetail(Integer goodsId,Model model,HttpServletRequest request){
Goods goods = goodsService.findById(goodsId);
model.addAttribute("goods",goods);
model.addAttribute("evaList", goods.getEvaList());
HttpSession session = request.getSession();
Users user=(Users) session.getAttribute("user");
if(user!=null){
Guess guess = guessService.findGuessByUserId(user.getUserId(), goods.getGoodsId());
if(guess!=null){
guess.setGuessNum(guess.getGuessNum()+1);
guessService.updateGuess(guess);
}else{
Guess g=new Guess(goods, 1, -1, user);
guessService.addGuess(g);
}
}
return "userview/product_detail";
}
@RequestMapping("findHotGoods")
@ResponseBody
public List<Goods> findHotGoods(){
return goodsService.findHotGoods(4);
}
@RequestMapping("search")
public ModelAndView searchGoodsByName(String keyWord){
ModelAndView mv=new ModelAndView();
List<Goods> list = goodsService.findGoodsLikeName(keyWord);
mv.addObject("searchList",list);
mv.setViewName("userview/search");
return mv;
}
@RequestMapping("searchPre")
@ResponseBody
public List<Goods> searchPreGoods(String keyword){
List<Goods> list = goodsService.findGoodsLikeName(keyword);
return list;
}
@RequestMapping("delete")
@ResponseBody
public String deleteGoods(Integer goodsId){
Integer rs = goodsService.deleteGoods(goodsId);
if(rs>0){
return "success";
}else{
return "fail";
}
}
@RequestMapping("updateGoods")
@ResponseBody
public String updateGoods(Goods goods){
Integer rs = goodsService.update(goods);
if(rs>0){
return "success";
}else{
return "fail";
}
}
@RequestMapping("batchDelete")
@ResponseBody
public String batchDelete(String batchId){
Integer rs=0;
String[] id = batchId.split(",");
for (String s : id) {
Integer goodsId = Integer.valueOf(s);
rs = goodsService.deleteGoods(goodsId);
}
if(rs>0){
return "success";
}else{
return "fail";
}
}
@RequestMapping(value="uploadImg",method={RequestMethod.POST})
@ResponseBody
public Object uploadGoodsImg(@PathVariable(value="file")MultipartFile file,HttpServletRequest request){
String str = file.getOriginalFilename();
String name=UUIDUtil.getUUID()+str.substring(str.lastIndexOf("."));
String path=request.getSession().getServletContext().getRealPath("/upload")+"/"+name;
try {
file.transferTo(new File(path));
} catch (IllegalStateException | IOException e) {
e.printStackTrace();
}
JSONObject obj=new JSONObject();
obj.put("src", name);
return obj;
}
@RequestMapping("addGoods")
@ResponseBody
public String addGoods(Goods goods){
Integer rs = goodsService.addGoods(goods);
if(rs>0){
return "success";
}else{
return "fail";
}
}
@RequestMapping("findGoodsByVolume")
@ResponseBody
public JSONObject findGoodsByVolume(){
List<Goods> goodsList = goodsService.findGoodsByVolume(5);
String[] name=new String[5];
Integer[] volume=new Integer[5];
for(int i=0;i<goodsList.size();i++){
name[i]=goodsList.get(i).getGoodsName();
volume[i]=goodsList.get(i).getGoodsVolume();
}
JSONObject obj=new JSONObject();
obj.put("name", name);
obj.put("volume", volume);
return obj;
}
@RequestMapping("chaozan")
@ResponseBody
public JSONObject chaozan(Integer goodsId,HttpServletRequest request){
HttpSession session = request.getSession();
Users user=(Users) session.getAttribute("user");
Integer rs = goodsService.chaozan(user.getUserId(),goodsId);
Goods goods = goodsService.findById(goodsId);
JSONObject obj=new JSONObject();
if(rs>0){
obj.put("goodzan", goods.getGoodsZan());
obj.put("result", "success");
}else{
obj.put("result", "fail");
}
return obj;
}
}
用户管理控制层:
@Controller
@RequestMapping("/user")
public class UserController {
private static final String String = null;
@Autowired
private IUserService userService;
@RequestMapping("login")
@ResponseBody
public String login(String userName,String userPass,HttpServletRequest request){
Users user = userService.login(userName, MD5Utils.passToMD5(userPass));
if(user!=null){
HttpSession session = request.getSession();
session.setAttribute("user", user);
return "success";
}
return "fail";
}
@RequestMapping("logout")
public String logout(HttpServletRequest request){
HttpSession session = request.getSession();
session.removeAttribute("user");
return "index";
}
@RequestMapping("amendinfo")
public String preModifyInfo(HttpServletRequest request,Model model){
HttpSession session = request.getSession();
Users user = (Users) session.getAttribute("user");
model.addAttribute("user", user);
return "userview/amend_info";
}
@RequestMapping(value="upload",method={RequestMethod.POST})
@ResponseBody
public JSONObject uploadHeaderPic(@PathVariable(value="file")MultipartFile file,HttpServletRequest request){
String str = file.getOriginalFilename();
String name=UUIDUtil.getUUID()+str.substring(str.lastIndexOf("."));
String path=request.getServletContext().getRealPath("/upload")+"/"+name;
try {
file.transferTo(new File(path));
} catch (IllegalStateException | IOException e) {
e.printStackTrace();
}
JSONObject obj=new JSONObject();
obj.put("userImg", name);
return obj;
}
@RequestMapping("updateUserInfo")
public String updateUserInfo(Users user,Model model,HttpServletRequest request){
Integer rs = userService.updateUserInfo(user);
Users u = userService.findUserById(user.getUserId());
HttpSession session = request.getSession();
session.setAttribute("user", u);
model.addAttribute("user", u);
return "userview/amend_info";
}
@RequestMapping("modifyUserPass")
@ResponseBody
public String modifyUserPass(String oldPass,String newPass,String rePass,HttpServletRequest request){
HttpSession session = request.getSession();
Users user = (Users) session.getAttribute("user");
if(MD5Utils.passToMD5(oldPass).equals(user.getUserPass()) && newPass.equals(rePass)){
user.setUserPass(MD5Utils.passToMD5(newPass));
userService.updateUserInfo(user);
session.removeAttribute("user");
return "success";
}else{
return "fail";
}
}
@RequestMapping("findAllUser")
@ResponseBody
public JSONObject findAllUser(Integer page,Integer limit,String keyword){
PageInfo<Users> info = userService.findAllUsersBySplitPage(page,limit,keyword);
JSONObject obj=new JSONObject();
obj.put("msg", "");
obj.put("code", 0);
obj.put("count",info.getTotal());
obj.put("data", info.getList());
return obj;
}
@RequestMapping("changeUserState")
@ResponseBody
public String changeUserState(Integer userId,Integer state){
Integer rs = userService.changeUserState(state, userId);
if(rs>0){
return "success";
}else{
return "fail";
}
}
@RequestMapping("updateUser")
@ResponseBody
public String updateUser(Users user){
Integer rs = userService.updateUserInfo(user);
if(rs>0){
return "success";
}else{
return "fail";
}
}
@RequestMapping("deleteUser")
@ResponseBody
public String deleteUser(Integer userId){
Integer rs = userService.deleteUser(userId);
if(rs>0){
return "success";
}else{
return "fail";
}
}
@RequestMapping("batchDelete")
@ResponseBody
public String batchDelete(String batchId){
String[] list = batchId.split(",");
boolean flag=true;
for (String id : list) {
Integer userId = Integer.valueOf(id);
Integer rs = userService.deleteUser(userId);
if(rs<0){
flag=false;
}
}
if(flag){
return "success";
}else{
return "fail";
}
}
@RequestMapping("register")
@ResponseBody
public String register(Users user){
user.setUserPass(MD5Utils.passToMD5(user.getUserPass()));
Integer rs = userService.addUser(user);
if(rs>0){
return "success";
}else{
return "fail";
}
}
}
管理员管理控制层:
@Controller
@Scope("prototype")
@RequestMapping("/admin")
public class AdminController {
@Autowired
private IAdminService adminService;
@RequestMapping("/login")
@ResponseBody
public String login(String adminName,String adminPass,HttpServletRequest request){
Admins admin = adminService.login(adminName, adminPass);
HttpSession session = request.getSession();
if(admin!=null){
session.setAttribute("admin", admin);
request.setAttribute("admins", adminService.findAll());
return "success";
}
return "fail";
}
@RequestMapping("/findAll")
@ResponseBody
public JSONObject findAll(){
PageInfo<Admins> info = adminService.findAll();
JSONObject obj = new JSONObject();
obj.put("msg", "");
obj.put("code", 0);
obj.put("count", info.getTotal());
obj.put("data", info.getList());
return obj;
}
@RequestMapping("logout")
public String logout(HttpServletRequest request){
HttpSession session = request.getSession();
session.removeAttribute("admin");
return "forward:/view/admin";
}
@RequestMapping("updatePass")
@ResponseBody
public String updatePass(String oldPass,String newPass,HttpServletRequest request){
HttpSession session = request.getSession();
Admins admin = (Admins) session.getAttribute("admin");
if(oldPass.equals(admin.getAdminPass())){
admin.setAdminPass(newPass);
adminService.updateAdmin(admin);
session.removeAttribute("admin");
return "success";
}
return "fail";
}
}
源码获取:俺的博客首页 "资源" 里下载!