基于Java的ssm菜匣子优选系统039
开发工具:idea
数据库mysql5.7+
数据库链接工具:navcat,小海豚等
技术:ssm
摘 要
随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于菜匣子优选生鲜电商系统当然也不能排除在外,随着网络技术的不断成熟,带动了菜匣子优选生鲜电商系统,它彻底改变了过去传统的管理方式,不仅使服务管理难度变低了,还提升了管理的灵活性。这种个性化的平台特别注重交互协调与管理的相互配合,激发了管理人员的创造性与主动性,对菜匣子优选生鲜电商系统而言非常有利。
本系统采用的数据库是Mysql,使用JSP技术开发,运行环境使用Tomcat服务器,ECLIPSE 是本系统的开发平台。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。
关键字:菜匣子优选生鲜电商系统 Mysql数据库 JSP技术
package com.controller;
import java.text.SimpleDateFormat;
import java.util.*;
import javax.servlet.http.HttpServletRequest;
import com.annotation.IgnoreAuth;
import com.service.TokenService;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.entity.XueshengxinxiEntity;
import com.service.XueshengxinxiService;
import com.utils.PageUtils;
import com.utils.R;
/**
*
* 后端接口
* @author
* @email
* @date 2023-02-22
*/
@RestController
@Controller
@RequestMapping("/xueshengxinxi")
public class XueshengxinxiController {
private static final Logger logger = LoggerFactory.getLogger(XueshengxinxiController.class);
@Autowired
private XueshengxinxiService xueshengxinxiService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String role, HttpServletRequest request) {
XueshengxinxiEntity user = xueshengxinxiService.selectOne(new EntityWrapper<XueshengxinxiEntity>().eq("account", username));
if(user != null){
if(!user.getRole().equals(role)){
return R.error("权限不正常");
}
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),user.getName(), "users", user.getRole());
return R.ok().put("token", token);
}else{
return R.error("账号或密码或权限不对");
}
}
/**
* 注册
*/
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody XueshengxinxiEntity user){
if(xueshengxinxiService.selectOne(new EntityWrapper<XueshengxinxiEntity>().eq("account", user.getAccount())) !=null) {
return R.error("学生已存在");
}
user.setRole("学生");
xueshengxinxiService.insert(user);
return R.ok();
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
XueshengxinxiEntity user = xueshengxinxiService.selectOne(new EntityWrapper<XueshengxinxiEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
xueshengxinxiService.update(user,null);
return R.ok("密码已重置为:123456");
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Integer id = (Integer)request.getSession().getAttribute("userId");
XueshengxinxiEntity user = xueshengxinxiService.selectById(id);
return R.ok().put("data", user);
}
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
logger.debug("Controller:"+this.getClass().getName()+",page方法");
Object role = request.getSession().getAttribute("role");
PageUtils page = null;
if(role.equals("学生")){
params.put("yh",request.getSession().getAttribute("userId"));
page = xueshengxinxiService.queryPage(params);
}else{
page = xueshengxinxiService.queryPage(params);
}
return R.ok().put("data", page);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
logger.debug("Controller:"+this.getClass().getName()+",info方法");
XueshengxinxiEntity xueshengxinxi = xueshengxinxiService.selectById(id);
if(xueshengxinxi!=null){
return R.ok().put("data", xueshengxinxi);
}else {
return R.error(511,"查不到数据");
}
}
/**
* 后端保存
*/
@IgnoreAuth
@RequestMapping("/save")
public R save(@RequestBody XueshengxinxiEntity xueshengxinxi, HttpServletRequest request){
logger.debug("Controller:"+this.getClass().getName()+",save");
Wrapper<XueshengxinxiEntity> queryWrapper = new EntityWrapper<XueshengxinxiEntity>()
.eq("name", xueshengxinxi.getName())
.eq("account", xueshengxinxi.getAccount())
.eq("password", xueshengxinxi.getPassword())
.eq("sex_types", xueshengxinxi.getSexTypes())
.eq("role", xueshengxinxi.getRole())
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
XueshengxinxiEntity xueshengxinxiEntity = xueshengxinxiService.selectOne(queryWrapper);
if("".equals(xueshengxinxi.getImgPhoto()) || "null".equals(xueshengxinxi.getImgPhoto())){
xueshengxinxi.setImgPhoto(null);
}
xueshengxinxi.setRole("学生");
if(xueshengxinxiEntity==null){
xueshengxinxiService.insert(xueshengxinxi);
return R.ok();
}else {
return R.error(511,"表中有相同数据");
}
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody XueshengxinxiEntity xueshengxinxi, HttpServletRequest request){
logger.debug("Controller:"+this.getClass().getName()+",update");
//根据字段查询是否有相同数据
Wrapper<XueshengxinxiEntity> queryWrapper = new EntityWrapper<XueshengxinxiEntity>()
.notIn("id",xueshengxinxi.getId())
.eq("name", xueshengxinxi.getName())
.eq("account", xueshengxinxi.getAccount())
.eq("password", xueshengxinxi.getPassword())
.eq("sex_types", xueshengxinxi.getSexTypes())
.eq("role", xueshengxinxi.getRole())
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
XueshengxinxiEntity xueshengxinxiEntity = xueshengxinxiService.selectOne(queryWrapper);
if("".equals(xueshengxinxi.getImgPhoto()) || "null".equals(xueshengxinxi.getImgPhoto())){
xueshengxinxi.setImgPhoto(null);
}
if(xueshengxinxiEntity==null){
xueshengxinxiService.updateById(xueshengxinxi);//根据id更新
return R.ok();
}else {
return R.error(511,"表中有相同数据");
}
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
logger.debug("Controller:"+this.getClass().getName()+",delete");
xueshengxinxiService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
第一章 绪 论
1.1背景及意义
系统管理也都将通过计算机进行整体智能化操作,对于菜匣子优选生鲜电商系统所牵扯的管理及数据保存都是非常多的,例如管理员;主页、个人中心、用户管理、商品分类管理、商品信息管理、系统管理、订单管理,用户;主页、个人中心、我的收藏管理、订单管理,前台首页;商品信息、新闻资讯、我的、跳转到后台、购物车等,这给管理者的工作带来了巨大的挑战,面对大量的信息,传统的管理系统,都是通过笔记的方式进行详细信息的统计,后来出现电脑,通过电脑输入软件将纸质的信息统计到电脑上,这种方式比较传统,而且想要统计数据信息比较麻烦,还受时间和空间的影响,所以为此开发了菜匣子优选生鲜电商系统;为用户提供了方便管理平台,方便管理员查看及维护,并且可以通过需求进行商品信息内容的编辑及维护等;对于用户而言,可以随时进行查看商品分类和订单信息等,管理员可以足不出户就可以获取到系统的数据信息等,而且还能节省用户很多时间,所以开发菜匣子优选生鲜电商系统给管理者带来了很大的方便,同时也方便管理员对用户信息进行处理。
本论文菜匣子优选生鲜电商系统主要牵扯到的程序,数据库与计算机技术等。覆盖知识面大,可以大大的提高工作人员的效率。