基于javaweb和mysql的ssm茶叶售卖商城系统(java+ssm+jsp+easyui+mysql)
·
基于javaweb和mysql的ssm茶叶售卖商城系统(java+ssm+jsp+easyui+mysql)
私信源码获取及调试交流
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SSM茶叶售卖商城系统(java+ssm+jsp+easyui+mysql)
这是一个应用SSM框架的项目,前端页面整洁清晰。该系统有两个角色,一个是普通用户,另一个是管理员。
普通用户具有注册、登录、查看商品、添加购物车、添加商品收藏、下订单、商品评价、用户地址管理等等功能。
管理员具有登录、管理用户信息、管理商品信息、管理商品活动信息、管理订单信息、管理用户评论信息的等等功能。
应用技术:Jsp + SSM + EasyUi
运行环境:eclipse/IDEA + MySQL5.7 + Tomcat8.5 + JDK1.8
* @return
*/
@RequestMapping(value="/upload_photo",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> uploadPhoto(MultipartFile photo,HttpServletRequest request){
Map<String, String> ret = new HashMap<String, String>();
if(photo == null){
ret.put("type", "error");
ret.put("msg", "选择要上传的文件!");
return ret;
}
if(photo.getSize() > 1024*1024*1024){
ret.put("type", "error");
ret.put("msg", "文件大小不能超过10M!");
return ret;
}
//获取文件后缀
String suffix = photo.getOriginalFilename().substring(photo.getOriginalFilename().lastIndexOf(".")+1,photo.getOriginalFilename().length());
if(!"jpg,jpeg,gif,png".toUpperCase().contains(suffix.toUpperCase())){
ret.put("type", "error");
ret.put("msg", "请选择jpg,jpeg,gif,png格式的图片!");
return ret;
}
String savePath = request.getServletContext().getRealPath("/") + "/resources/upload/";
File savePathFile = new File(savePath);
if(!savePathFile.exists()){
//若不存在改目录,则创建目录
savePathFile.mkdir();
}
String filename = new Date().getTime()+"."+suffix;
try {
//将文件保存至指定目录
photo.transferTo(new File(savePath+filename));
}catch (Exception e) {
// TODO Auto-generated catch block
ret.put("type", "error");
ret.put("msg", "保存文件异常!");
e.printStackTrace();
return ret;
}
private RoleService roleService;
/**
* 用户列表页面
* @param model
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.GET)
public ModelAndView list(ModelAndView model){
Map<String, Object> queryMap = new HashMap<String, Object>();
model.addObject("roleList", roleService.findList(queryMap));
model.setViewName("user/list");
return model;
}
/**
* 获取用户列表
* @param page
* @param username
* @param roleId
* @param sex
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> getList(Page page,
@RequestParam(name="username",required=false,defaultValue="") String username,
@RequestParam(name="roleId",required=false) Long roleId,
@RequestParam(name="sex",required=false) Integer sex
){
Map<String, Object> ret = new HashMap<String, Object>();
Map<String, Object> queryMap = new HashMap<String, Object>();
queryMap.put("username", username);
queryMap.put("roleId", roleId);
queryMap.put("sex", sex);
queryMap.put("offset", page.getOffset());
queryMap.put("pageSize", page.getRows());
ret.put("rows", userService.findList(queryMap));
ret.put("total", userService.getTotal(queryMap));
return ret;
}
/**
* 添加用户
* @param user
Map<String, Object> ret = new HashMap<String, Object>();
Map<String, Object> queryMap = new HashMap<String, Object>();
queryMap.put("offset", page.getOffset());
queryMap.put("pageSize", page.getRows());
queryMap.put("id", id);
List<Orders> findList = ordersService.findAllOrders(queryMap);
double price = 0; //计算每个订单的总价
String item = ""; //记录每个订单对应的商品详情
String address = ""; //送货地址
for(Orders order : findList) {
//获取订单所属用户
Account account = accountService.findById(order.getAccount_Id());
order.setAccount(account);
//获取送货地址
Address findByAccountId = addressService.findByAccountId(account.getId());
address = address + findByAccountId.getProvince() + findByAccountId.getCity() + findByAccountId.getArea() + findByAccountId.getDetail();
order.setAddress(address);
//获取订单详情
List<Shopping> shoppingList = shoppingService.findByIds(order.getShopping_Id());
for(Shopping shopping : shoppingList) {
//取出商品
Tea tea = teaService.findByTeaId(shopping.getProductId().toString());
//计算订单价格
price += (tea.getNew_price() * shopping.getNum());
//获取购买商品详情
item = item + tea.getName() + "(" + shopping.getNum() + "个)、";
}
//把最后一个、去掉
item = item.substring(0, item.length()-1);
order.setItem(item);
order.setPrice(price);
//价格置位0,下一轮循环:新订单重新计算
price = 0;
//商品详情置位空字符串,,下一轮循环:获取新详情
item = "";
//收货地址置位空字符串,下一轮循环:获取新地址
address = "";
}
ret.put("rows", findList);
ret.put("total", ordersService.getAllTotal());
return ret;
}
/**
* 删除订单操作
* @param ids
* @return
*/
@RequestMapping(value="/delete_orders",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> deleteOrders(String ids){
Map<String, Object> ret = new HashMap<String, Object>();
ret.put("type", "error");
ret.put("msg", "删除地址失败,请联系管理员!");
return ret;
}
if(addressService.delete(id) <= 0) {
ret.put("type", "error");
ret.put("msg", "删除地址失败,请联系管理员!");
return ret;
}
ret.put("type", "success");
ret.put("msg", "删除地址成功!");
return ret;
}
/**
* 用户修改密码页面
*/
@RequestMapping(value="/password",method=RequestMethod.GET)
public ModelAndView password(ModelAndView model,HttpServletRequest request){
model.addObject("teaCategoryList", teaCategoryService.findAll());
Map<String, Object> queryMap = new HashMap<String, Object>();
queryMap.put("actionId", 1);
model.addObject("teaListByActionId", teaService.findList(queryMap));
Account account = (Account) request.getSession().getAttribute("account");
Map<String, Object> queryMap2 = new HashMap<String, Object>();
queryMap2.put("accountId",account.getId());
queryMap2.put("state","未支付");
model.addObject("cartList",shoppingService.findList(queryMap2));
model.addObject("cartTotal",shoppingService.getTotal(queryMap2));
model.setViewName("home/account/password");
return model;
}
/**
* 用户收藏页面
*/
@Autowired
private LogService logService;
@Autowired
private ShoppingService shoppingService;
/**
* 前端系统登录页面
* @param model
* @return
*/
@RequestMapping(value="/login",method=RequestMethod.GET)
public ModelAndView index(ModelAndView model,HttpServletRequest request){
Account account = (Account) request.getSession().getAttribute("account");
if(account!=null)
{
Map<String, Object> queryMap = new HashMap<String, Object>();
queryMap.put("accountId",account.getId());
queryMap.put("state","未支付");
model.addObject("cartTotal",shoppingService.getTotal(queryMap));
}
model.setViewName("home/login/index");
return model;
}
/**
* 登录表单提交处理控制器
* @param user
* @param cpacha
* @return
*/
@RequestMapping(value="/login",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> loginAct(Account account,HttpServletRequest request){
Map<String, String> ret = new HashMap<String, String>();
if(account == null){
ret.put("type", "error");
ret.put("msg", "请正确填写登录信息!");
return ret;
}
if(StringUtils.isEmpty(account.getUsername())){
ret.put("type", "error");
ret.put("msg", "请填写用户名!");
return ret;
}
if(StringUtils.isEmpty(account.getPassword())){
ret.put("type", "error");
ret.put("msg", "请填写密码!");
return ret;
}
ret.put("type", "success");
ret.put("msg", "地址添加成功!");
return ret;
}
}
}
/**
* 删除用户地址
* @param user
* @return
*/
@RequestMapping(value="/del_address",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> delete_address(String id,HttpServletRequest request){
Map<String, String> ret = new HashMap<String, String>();
if(id == null){
ret.put("type", "error");
ret.put("msg", "删除地址失败,请联系管理员!");
return ret;
}
if(addressService.delete(id) <= 0) {
ret.put("type", "error");
ret.put("msg", "删除地址失败,请联系管理员!");
return ret;
}
ret.put("type", "success");
ret.put("msg", "删除地址成功!");
return ret;
}
/**
* 用户修改密码页面
*/
@RequestMapping(value="/password",method=RequestMethod.GET)
public ModelAndView password(ModelAndView model,HttpServletRequest request){
model.addObject("teaCategoryList", teaCategoryService.findAll());
Map<String, Object> queryMap = new HashMap<String, Object>();
queryMap.put("actionId", 1);
model.addObject("teaListByActionId", teaService.findList(queryMap));
Account account = (Account) request.getSession().getAttribute("account");
Map<String, Object> queryMap2 = new HashMap<String, Object>();
queryMap2.put("accountId",account.getId());
queryMap2.put("state","未支付");
model.addObject("cartList",shoppingService.findList(queryMap2));
}
/**
* 获取账户留言列表
* @param model
* @return
*/
@RequestMapping(value="/comment",method=RequestMethod.GET)
public ModelAndView comment(ModelAndView model){
model.setViewName("account/comment");
return model;
}
/**
* 获取评论列表
* @param page
* @param username
* @param roleId
* @param sex
* @return
*/
@RequestMapping(value="/comment",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> getComment(Page page,
@RequestParam(name="content",required=false,defaultValue="") String content
){
Map<String, Object> ret = new HashMap<String, Object>();
Map<String, Object> queryMap = new HashMap<String, Object>();
queryMap.put("content", content);
queryMap.put("offset", page.getOffset());
queryMap.put("pageSize", page.getRows());
ret.put("rows", commentService.findList(queryMap));
ret.put("total", commentService.getTotal(queryMap));
return ret;
}
/**
* 获取用户列表
* @param page
* @param username
if(account == null){
ret.put("type", "error");
ret.put("msg", "请正确填写登录信息!");
return ret;
}
if(StringUtils.isEmpty(account.getUsername())){
ret.put("type", "error");
ret.put("msg", "请填写用户名!");
return ret;
}
if(StringUtils.isEmpty(account.getPassword())){
ret.put("type", "error");
ret.put("msg", "请填写密码!");
return ret;
}
Account findByUsername = accountService.findByUsername(account.getUsername());
if(findByUsername == null){
ret.put("type", "error");
ret.put("msg", "该用户名不存在!");
return ret;
}
if(!account.getPassword().equals(findByUsername.getPassword())){
ret.put("type", "error");
ret.put("msg", "密码错误!");
return ret;
}
request.getSession().setAttribute("account", findByUsername);
ret.put("type", "success");
ret.put("msg", "登录成功!");
logService.add("用户名为{"+account.getUsername()+"},角色为{普通用户}的用户登录成功!");
return ret;
}
}
/**
* 商品管理控制器
*
*/
@RequestMapping("/admin/product")
@Controller
public class ProductController {
@Autowired
private TeaService teaService;
@Autowired
private ActionService actionService;
@Autowired
private ShoppingService shoppingService;
teaService.edit(findByTeaId);
}
if(commentService.delete(ids) <= 0){
ret.put("type", "error");
ret.put("msg", "评论删除失败,请联系管理员!");
return ret;
}
ret.put("type", "success");
ret.put("msg", "评论删除成功!");
return ret;
}
/**
* 批量删除账户
* @param ids
* @return
*/
@RequestMapping(value="/delete",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> delete(String ids){
Map<String, String> ret = new HashMap<String, String>();
if(StringUtils.isEmpty(ids)){
ret.put("type", "error");
ret.put("msg", "选择要删除的数据!");
return ret;
}
if(ids.contains(",")){
ids = ids.substring(0,ids.length()-1);
}
String[] split = ids.split(",");
for(String str : split) {
// 删除与账户有关的评论信息
commentService.deleteByAccountId(Long.valueOf(str));
shoppingService.deleteByAccountId(Long.valueOf(str));
ordersService.deleteByAccountId(Long.valueOf(str));
view_LogService.deleteByAccountId(Long.valueOf(str));
addressService.deleteByAccountId(Long.valueOf(str));
collectService.deleteByAccountId(Long.valueOf(str));
}
if(accountService.delete(ids) == 0){
return ret;
}
/**
* 上传图片
* @param photo
* @param request
* @return
*/
@RequestMapping(value="/upload_photo",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> uploadPhoto(MultipartFile photo,HttpServletRequest request){
Map<String, String> ret = new HashMap<String, String>();
if(photo == null){
ret.put("type", "error");
ret.put("msg", "选择要上传的文件!");
return ret;
}
if(photo.getSize() > 1024*1024*1024){
ret.put("type", "error");
ret.put("msg", "文件大小不能超过10M!");
return ret;
}
//获取文件后缀
String suffix = photo.getOriginalFilename().substring(photo.getOriginalFilename().lastIndexOf(".")+1,photo.getOriginalFilename().length());
if(!"jpg,jpeg,gif,png".toUpperCase().contains(suffix.toUpperCase())){
ret.put("type", "error");
ret.put("msg", "请选择jpg,jpeg,gif,png格式的图片!");
return ret;
}
String savePath = request.getServletContext().getRealPath("/") + "/resources/upload/";
File savePathFile = new File(savePath);
if(!savePathFile.exists()){
//若不存在改目录,则创建目录
savePathFile.mkdir();
}
String filename = new Date().getTime()+"."+suffix;
try {
//将文件保存至指定目录
photo.transferTo(new File(savePath+filename));
}catch (Exception e) {
// TODO Auto-generated catch block
ret.put("type", "error");
ret.put("msg", "保存文件异常!");
e.printStackTrace();
return ret;
}
ret.put("type", "success");
ret.put("msg", "照片上传成功!");
Map<String,Object> queryMap = new HashMap<String, Object>();
queryMap.put("productId", t.getId());
List<Shopping> findList = shoppingService.findList(queryMap);
shoppingService.deleteByProductId(t.getId());
for(Shopping shopping : findList) {
Map<String,Object> queryMap2 = new HashMap<String, Object>();
queryMap2.put("accountId", shopping.getAccountId());
List<Orders> findList2 = ordersService.findList(queryMap2);
for(Orders orders : findList2) {
String shoppingIds = orders.getShopping_Id();
String[] split = shoppingIds.split(",");
for(String str : split) {
if(str.equals(shopping.getId())) {
ordersService.delete(orders.getId());
}
}
}
}
// 删除与商品有关的访问记录内容
viewLogService.deleteByProductId(t.getId());
// 删除与商品有关的评论内容
commentService.deleteByProductId(t.getId());
// 删除与商品有关的收藏内容
collectService.deleteByProductId(t.getId());
}
if(teaService.delete(ids) <= 0){
ret.put("type", "error");
ret.put("msg", "商品删除失败,请联系管理员!");
return ret;
}
ret.put("type", "success");
ret.put("msg", "商品删除成功!");
return ret;
}
/**
* 上传图片
* @param photo
* @param request
* @return
*/
@RequestMapping(value="/upload_photo",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> uploadPhoto(MultipartFile photo,HttpServletRequest request){
Map<String, String> ret = new HashMap<String, String>();
if(photo == null){
ret.put("msg", "请填写用户名!");
return ret;
}
if(StringUtils.isEmpty(account.getPassword())){
ret.put("type", "error");
ret.put("msg", "请填写密码!");
return ret;
}
Account findByUsername = accountService.findByUsername(account.getUsername());
if(findByUsername == null){
ret.put("type", "error");
ret.put("msg", "该用户名不存在!");
return ret;
}
if(!account.getPassword().equals(findByUsername.getPassword())){
ret.put("type", "error");
ret.put("msg", "密码错误!");
return ret;
}
request.getSession().setAttribute("account", findByUsername);
ret.put("type", "success");
ret.put("msg", "登录成功!");
logService.add("用户名为{"+account.getUsername()+"},角色为{普通用户}的用户登录成功!");
return ret;
}
}
/**
* 前端系统操作类控制器
return ret;
}
if(StringUtils.isEmpty(account.getPassword())){
ret.put("type", "error");
ret.put("msg", "请填写密码!");
return ret;
}
if(StringUtils.isEmpty(account.getRealname())){
ret.put("type", "error");
ret.put("msg", "请填写真实姓名!");
return ret;
}
if(account.getPhone() == null){
ret.put("type", "error");
ret.put("msg", "请填写电话号码!");
return ret;
}
if(isExist(account.getUsername(), 0l)){
ret.put("type", "error");
ret.put("msg", "该用户名已经存在,请重新输入!");
return ret;
}
if(accountService.add(account) <= 0){
ret.put("type", "error");
ret.put("msg", "账户添加失败,请联系管理员!");
return ret;
}
ret.put("type", "success");
ret.put("msg", "账户添加成功!");
return ret;
}
/**
* 编辑账户
* @param user
* @return
*/
@RequestMapping(value="/edit",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> edit(Account account){
Map<String, String> ret = new HashMap<String, String>();
if(account == null){
ret.put("type", "error");
ret.put("msg", "请填写正确的用户信息!");
return ret;
/**
* 前端用户控制类
*
*/
@Controller
@RequestMapping("/home/account")
public class ShopAccountController {
@Autowired
private AccountService accountService;
@Autowired
private CommentService commentService;
@Autowired
private TeaCategoryService teaCategoryService;
@Autowired
private CollectService collectService;
/**
* 订单管理列表页面
* @param model
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.GET)
public ModelAndView list(ModelAndView model){
model.setViewName("order/list");
return model;
}
/**
* 订单统计柱形图表页面
* @param model
* @return
*/
@RequestMapping(value = "/chart_bar", method = RequestMethod.GET)
public ModelAndView chartBar(ModelAndView model){
model.setViewName("order/chart_bar");
return model;
}
/**
* 获取订单列表
* @param page
* @param name
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> getOrderList(Page page,
@RequestParam(name="id",required=false,defaultValue="") String id
){
Map<String, Object> ret = new HashMap<String, Object>();
Map<String, Object> queryMap = new HashMap<String, Object>();
queryMap.put("offset", page.getOffset());
queryMap.put("pageSize", page.getRows());
queryMap.put("id", id);
List<Orders> findList = ordersService.findAllOrders(queryMap);
double price = 0; //计算每个订单的总价
/**
* 商品管理控制器
*
*/
@RequestMapping("/admin/product")
@Controller
public class ProductController {
@Autowired
private TeaService teaService;
@Autowired
private ActionService actionService;
@Autowired
private ShoppingService shoppingService;
@Autowired
private OrdersService ordersService;
@Autowired
private TeaCategoryService teaCategoryService;
@Autowired
private View_LogService viewLogService;
@Autowired
private CommentService commentService;
@Autowired
private CollectService collectService;
/**
* 商品列表页面
* 日志管理控制器
*
*/
@RequestMapping("/admin/log")
@Controller
public class LogController {
@Autowired
private LogService logService;
/**
* 日志列表页面
* @param model
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.GET)
public ModelAndView list(ModelAndView model){
model.setViewName("log/list");
return model;
}
/**
* 获取日志列表
* @param page
* @param content
* @param roleId
* @param sex
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> getList(Page page,
@RequestParam(name="content",required=false,defaultValue="") String content
){
Map<String, Object> ret = new HashMap<String, Object>();
Map<String, Object> queryMap = new HashMap<String, Object>();
queryMap.put("content", content);
queryMap.put("offset", page.getOffset());
queryMap.put("pageSize", page.getRows());
ret.put("rows", logService.findList(queryMap));
ret.put("total", logService.getTotal(queryMap));
return ret;
}
/**
* 添加日志
* @param user
* @return
*/
@RequestMapping(value="/add",method=RequestMethod.POST)
@ResponseBody





更多推荐



所有评论(0)