您的位置:首页 > 编程语言 > Java开发

Java 基于 spring boot课程评价系统 springboot+mybatis+layui

2020-03-29 13:08 387 查看

角色分为 学生、教师、管理员,学生可修改密码,先选择课程之后对对应课程的教师做出评价

运行环境

jdk8+tomcat8+mysql+IntelliJ IDEA/eclipse+maven

项目技术

springboot+mybatis+layui

jar包文件

使用maven

运行访问地址:

http://localhost:8080/

管理员账号admin admin

学生账号admin admin

老师账号yuanmahuyi 111111

代码已经上传github,下载地址https://github.com/21503882/publiccode

 

package com.study.property.controller;
import java.io.File;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;

import com.alibaba.fastjson.JSONObject;
import com.study.property.base.BaseController;
import com.study.property.po.*;
import com.study.property.utils.Pager;
import java.util.*;

import com.study.property.po.*;
import com.study.property.mapper.*;
import com.study.property.service.*;

/**
 * @ClassName:  
 * @Description: 
 * @author  - - admin
 * @date - 2018年12月23日 18时50分03秒
 */


@Controller
@RequestMapping("/itemOrder")
public class ItemOrderController extends BaseController {
    
    @Autowired
    private UserService userService;
    
    /**
     * 依赖注入 start dao/service/===
     */
    @Autowired
    private ItemOrderService itemOrderService;
    
    // --------------------------------------- 华丽分割线 ------------------------------
    
    /*********************************查询列表【不分页】***********************************************/
    
    /**
     * 【不分页 => 查询列表 => 无条件】
    * @Title: listAll 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return 设定文件 
    * @author
    * @return String 返回类型 
    * @throws
     */
    @RequestMapping(value = "/listAll")
    public String listAll(ItemOrder itemOrder, Model model, HttpServletRequest request, HttpServletResponse response){
        List<ItemOrder> listAll = itemOrderService.listAll();
        model.addAttribute("list", listAll);
        return "itemOrder/itemOrder";
    }
    
    /**
     *  【不分页=》查询列表=>有条件】
    * @Title: listByEntity 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return 设定文件 
    * @author
    * @return String 返回类型 
    * @throws
     */
    @RequestMapping(value = "/listByEntity")
    public String listByEntity(ItemOrder itemOrder, Model model, HttpServletRequest request, HttpServletResponse response){
        List<ItemOrder> listAll = itemOrderService.listAllByEntity(itemOrder);
        model.addAttribute("list", listAll);
        return "itemOrder/itemOrder";
    }
    
    /**
     *  【不分页=》查询列表=>有条件】
    * @Title: listByMap 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return 设定文件 
    * @author 
    * @return String 返回类型 
    * @throws
     */
    @RequestMapping(value = "/listByMap")
    public String listByMap(ItemOrder itemOrder, Model model, HttpServletRequest request, HttpServletResponse response){
        //通过map查询
        Map<String,Object> params = new HashMap<String,Object>();
            if(!isEmpty(itemOrder.getUserId())){
                params.put("userId", itemOrder.getUserId());
            }
            if(!isEmpty(itemOrder.getUserName())){
                params.put("userName", itemOrder.getUserName());
            }
            if(!isEmpty(itemOrder.getName())){
                params.put("name", itemOrder.getName());
            }
            if(!isEmpty(itemOrder.getPrice())){
                params.put("price", itemOrder.getPrice());
            }
            if(!isEmpty(itemOrder.getStatus())){
                params.put("status", itemOrder.getStatus());
            }
            if(!isEmpty(itemOrder.getIsDelete())){
                params.put("isDelete", itemOrder.getIsDelete());
            }
            if(!isEmpty(itemOrder.getPayTime())){
                params.put("payTime", itemOrder.getPayTime());
            }
        List<ItemOrder> listAll = itemOrderService.listByMap(params);
        model.addAttribute("list", listAll);
        return "itemOrder/itemOrder";
    }
    
    
    /*********************************查询列表【分页】***********************************************/
    
    
    
    /**
     * 分页查询 返回list对象(通过对象)
     * 
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/findByObj")
    public String findByObj(ItemOrder itemOrder, Model model, HttpServletRequest request, HttpServletResponse response) {
        //分页查询
        Pager<ItemOrder> pagers = itemOrderService.findByEntity(itemOrder);
        model.addAttribute("pagers", pagers);
        //存储查询条件
        model.addAttribute("obj", itemOrder);
        return "itemOrder/itemOrder";
    }
    
    /**
     * 分页查询 返回list对象(通过对By Sql)
     * 
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/findBySql")
    public String findBySql(ItemOrder itemOrder,String payTimeStr, Model model, HttpServletRequest request, HttpServletResponse response) {
        //分页查询
        String sql = "SELECT * FROM item_order WHERE 1=1 and isDelete = 0  ";
        if(!isEmpty(itemOrder.getUserId())){
            sql += " and userId like '%"+itemOrder.getUserId()+"%'";
        }
        if(!isEmpty(itemOrder.getUserName())){
            sql += " and user_name like '%"+itemOrder.getUserName()+"%'";
        }
        if(!isEmpty(itemOrder.getName())){
            sql += " and name like '%"+itemOrder.getName()+"%'";
        }
        if (itemOrder.getStatus() != null){
            sql += " and status = "+itemOrder.getStatus();
        }
        if(!isEmpty(itemOrder.getPrice())){
            sql += " and price like '%"+itemOrder.getPrice()+"%'";
        }
        if(!isEmpty(payTimeStr)){
            sql += " and  DATE_FORMAT(pay_time,'%Y-%m-%d') = '"+payTimeStr+"'";;
        }
       sql += " ORDER BY ID DESC ";
        Pager<ItemOrder> pagers = itemOrderService.findBySqlRerturnEntity(sql);
        model.addAttribute("pagers", pagers);
        model.addAttribute("payTimeStr", payTimeStr);
        //存储查询条件
        model.addAttribute("obj", itemOrder);
        return "itemOrder/itemOrder";
    }
    
    @RequestMapping(value = "/my")
    public String my(ItemOrder itemOrder,String payTimeStr, Model model, HttpServletRequest request, HttpServletResponse response) {
        //分页查询
        //分页查询
                Object attribute = request.getSession().getAttribute("userId");
                if (attribute == null){
                    return "login/uLogin";
                }
                Integer valueOf = Integer.valueOf(attribute.toString());
                
                
        String sql = "SELECT * FROM item_order WHERE 1=1 and isDelete = 0 and user_id =  "+valueOf;
        if(!isEmpty(itemOrder.getUserId())){
            sql += " and userId like '%"+itemOrder.getUserId()+"%'";
        }
        if(!isEmpty(itemOrder.getUserName())){
            sql += " and user_name like '%"+itemOrder.getUserName()+"%'";
        }
        if(!isEmpty(itemOrder.getName())){
            sql += " and name like '%"+itemOrder.getName()+"%'";
        }
        if (itemOrder.getStatus() != null){
            sql += " and status = "+itemOrder.getStatus();
        }
        if(!isEmpty(itemOrder.getPrice())){
            sql += " and price like '%"+itemOrder.getPrice()+"%'";
        }
        if(!isEmpty(payTimeStr)){
            sql += " and  DATE_FORMAT(pay_time,'%Y-%m-%d') = '"+payTimeStr+"'";;
        }
       sql += " ORDER BY ID DESC ";
        Pager<ItemOrder> pagers = itemOrderService.findBySqlRerturnEntity(sql);
        model.addAttribute("pagers", pagers);
        model.addAttribute("payTimeStr", payTimeStr);
        //存储查询条件
        model.addAttribute("obj", itemOrder);
        return "itemOrder/my";
    }
    
    /**
     * 分页查询 返回list对象(通过Map)
     * 
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/findByMap")
    public String findByMap(ItemOrder itemOrder, Model model, HttpServletRequest request, HttpServletResponse response) {
        //通过map查询
        Map<String,Object> params = new HashMap<String,Object>();
        if(!isEmpty(itemOrder.getUserId())){
            params.put("userId", itemOrder.getUserId());
        }
        if(!isEmpty(itemOrder.getUserName())){
            params.put("userName", itemOrder.getUserName());
        }
        if(!isEmpty(itemOrder.getName())){
            params.put("name", itemOrder.getName());
        }
        if(!isEmpty(itemOrder.getPrice())){
            params.put("price", itemOrder.getPrice());
        }
        if(!isEmpty(itemOrder.getStatus())){
            params.put("status", itemOrder.getStatus());
        }
        if(!isEmpty(itemOrder.getIsDelete())){
            params.put("isDelete", itemOrder.getIsDelete());
        }
        if(!isEmpty(itemOrder.getPayTime())){
            params.put("payTime", itemOrder.getPayTime());
        }
        //分页查询
        Pager<ItemOrder> pagers = itemOrderService.findByMap(params);
        model.addAttribute("pagers", pagers);
        //存储查询条件
        model.addAttribute("obj", itemOrder);
        return "itemOrder/itemOrder";
    }
    
    /**********************************【增删改】******************************************************/
    
    /**
     * 跳至添加页面
     * @return
     */
    @RequestMapping(value = "/add")
    public String add(Model model) {
        //查看用户
        User user = new User();
        user.setIsDelete(0);
        List<User> listAllByEntity = userService.listAllByEntity(user);
        model.addAttribute("users", listAllByEntity);
        return "itemOrder/add";
    }

    /**
     * 跳至详情页面
     * @return
     */
    @RequestMapping(value = "/view")
    public String view(Integer id,Model model) {
        ItemOrder obj = itemOrderService.load(id);
        model.addAttribute("obj",obj);
        return "itemOrder/view";
    }
    
    /**
     * 添加执行
     * @return
     */
    @RequestMapping(value = "/exAdd")
    public String exAdd(ItemOrder itemOrder, Model model, HttpServletRequest request, HttpServletResponse response) {
        itemOrder.setIsDelete(0);
        itemOrder.setStatus(0);
        //根据用户id
        User load = userService.load(itemOrder.getUserId());
        itemOrder.setUserName(load.getName());
        itemOrderService.insert(itemOrder);
        return "redirect:/itemOrder/findBySql.action";
    }
    
    
    /**
     * 跳至修改页面
     * @return
     */
    @RequestMapping(value = "/update")
    public String update(Integer id,Model model) {
        ItemOrder obj = itemOrderService.load(id);
        //查看用户
                User user = new User();
                user.setIsDelete(0);
                List<User> listAllByEntity = userService.listAllByEntity(user);
                model.addAttribute("users", listAllByEntity);
        model.addAttribute("obj",obj);
        return "itemOrder/update";
    }
    
    /**
     * 添加修改
     * @return
     */
    @RequestMapping(value = "/exUpdate")
    public String exUpdate(ItemOrder itemOrder, Model model, HttpServletRequest request, HttpServletResponse response) {
        //1.通过实体类修改,可以多传修改条件
        User load = userService.load(itemOrder.getUserId());
        itemOrder.setUserName(load.getName());
        itemOrderService.updateById(itemOrder);
        //2.通过主键id修改
        //itemOrderService.updateById(itemOrder);
        return "redirect:/itemOrder/findBySql.action";
    }
    
    /**
     * 删除通过主键
     * @return
     */
    @RequestMapping(value = "/delete")
    public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
        ItemOrder load = itemOrderService.load(id);
        load.setIsDelete(1);
        itemOrderService.updateById(load);
        return "redirect:/itemOrder/findBySql.action";
    }
    
    // --------------------------------------- 华丽分割线 ------------------------------
    // --------------------------------------- 【下面是ajax操作的方法。】 ------------------------------

    /*********************************查询列表【不分页】***********************************************/
    
    /**
     * 【不分页 => 查询列表 => 无条件】
    * @Title: listAll 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return 设定文件 
    * @author
    * @return String 返回类型 
    * @throws
     */
    @RequestMapping(value = "/listAllJson", method = RequestMethod.POST)
    @ResponseBody
    public String listAllJson(ItemOrder itemOrder, HttpServletRequest request, HttpServletResponse response){
        List<ItemOrder> listAll = itemOrderService.listAll();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("list", listAll);
        jsonObject.put("obj", itemOrder);
        return jsonObject.toString();
    }
    
    @RequestMapping(value = "/jf", method = RequestMethod.POST)
    @ResponseBody
    public String jf(ItemOrder itemOrder,  HttpServletRequest request, HttpServletResponse response){
        JSONObject jsonObject = new JSONObject();
        ItemOrder load = itemOrderService.load(itemOrder.getId());
        BigDecimal price = load.getPrice();
        Object attribute = request.getSession().getAttribute("userId");
        if (attribute == null){
            return "login/uLogin";
        }
        Integer valueOf = Integer.valueOf(attribute.toString());
        User load2 = userService.load(valueOf);
        BigDecimal money = load2.getMoney();
        
        int a = money.compareTo(price);
        if (a == -1){
            jsonObject.put("res", 0);//余额不足
            return jsonObject.toString();
        }
        BigDecimal subtract = money.subtract(price);  
        load2.setMoney(subtract);
        userService.updateById(load2);
        
        load.setStatus(1);
        load.setPayTime(new Date());
        itemOrderService.updateById(load);
        return jsonObject.toString();
    }
    
    /**
     *  【不分页=》查询列表=>有条件】
    * @Title: listByMap 
    * @Description: TODO(这里用一句话描述这个方法的作用) 
    * @param @return 设定文件 
    * @author 
    * @return String 返回类型 
    * @throws
     */
    @RequestMapping(value = "/listByMapJson", method = RequestMethod.POST)
    @ResponseBody
    public String listByMapJson(ItemOrder itemOrder,HttpServletRequest request, HttpServletResponse response){
        //通过map查询
        Map<String,Object> params = new HashMap<String,Object>();
            if(!isEmpty(itemOrder.getUserId())){
                params.put("userId", itemOrder.getUserId());
            }
            if(!isEmpty(itemOrder.getUserName())){
                params.put("userName", itemOrder.getUserName());
            }
            if(!isEmpty(itemOrder.getName())){
                params.put("name", itemOrder.getName());
            }
            if(!isEmpty(itemOrder.getPrice())){
                params.put("price", itemOrder.getPrice());
            }
            if(!isEmpty(itemOrder.getStatus())){
                params.put("status", itemOrder.getStatus());
            }
            if(!isEmpty(itemOrder.getIsDelete())){
                params.put("isDelete", itemOrder.getIsDelete());
            }
            if(!isEmpty(itemOrder.getPayTime())){
                params.put("payTime", itemOrder.getPayTime());
            }
        List<ItemOrder> listAll = itemOrderService.listByMap(params);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("list", listAll);
        jsonObject.put("obj", itemOrder);
        return jsonObject.toString();
    }
    
    
    /**
     * 分页查询 返回list json(通过对象)
     * 
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/findByObjJson", method = RequestMethod.POST)
    @ResponseBody
    public String findByObjByEntityJson(ItemOrder itemOrder, HttpServletRequest request, HttpServletResponse response) {
        //分页查询
        Pager<ItemOrder> pagers = itemOrderService.findByEntity(itemOrder);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("pagers", pagers);
        jsonObject.put("obj", itemOrder);
        return jsonObject.toString();
    }
    
      
    /**
     * 分页查询 返回list json(通过Map)
     * 
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/findByMapJson",  method = RequestMethod.POST)
    @ResponseBody
    public String findByMapJson(ItemOrder itemOrder,HttpServletRequest request, HttpServletResponse response) {
        //通过map查询
        Map<String,Object> params = new HashMap<String,Object>();
        if(!isEmpty(itemOrder.getUserId())){
            params.put("userId", itemOrder.getUserId());
        }
        if(!isEmpty(itemOrder.getUserName())){
            params.put("userName", itemOrder.getUserName());
        }
        if(!isEmpty(itemOrder.getName())){
            params.put("name", itemOrder.getName());
        }
        if(!isEmpty(itemOrder.getPrice())){
            params.put("price", itemOrder.getPrice());
        }
        if(!isEmpty(itemOrder.getStatus())){
            params.put("status", itemOrder.getStatus());
        }
        if(!isEmpty(itemOrder.getIsDelete())){
            params.put("isDelete", itemOrder.getIsDelete());
        }
        if(!isEmpty(itemOrder.getPayTime())){
            params.put("payTime", itemOrder.getPayTime());
        }
        //分页查询
        Pager<ItemOrder> pagers = itemOrderService.findByMap(params);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("pagers", pagers);
        jsonObject.put("obj", itemOrder);
        return jsonObject.toString();
    }
    
    
    /**
     * ajax 添加
     * @param 
     * @return
     */
    @RequestMapping(value = "/exAddJson", method = RequestMethod.POST)
    @ResponseBody
    public String exAddJson(ItemOrder itemOrder, Model model, HttpServletRequest request, HttpServletResponse response) {
        itemOrderService.insert(itemOrder);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("message", "添加成功");
        return jsonObject.toString();
    }
    

    /**
     * ajax 修改
     * @param 
     * @return
     */
    @RequestMapping(value = "/exUpdate.json", method = RequestMethod.POST)
    @ResponseBody
    public String exUpdateJson(ItemOrder itemOrder, Model model, HttpServletRequest request, HttpServletResponse response) {
        //1.通过实体类修改,可以多传修改条件
        itemOrderService.updateById(itemOrder);
        //2.通过主键id修改
        //itemOrderService.updateById(itemOrder);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("message", "修改成功");
        return jsonObject.toString();
    }

    /**
     * ajax 删除
     * @return
     */
    @RequestMapping(value = "/delete.json", method = RequestMethod.POST)
    @ResponseBody
    public String exDeleteJson(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
        ///1.通过主键删除
        itemOrderService.deleteById(id);
        /*以下是多种删除方式*/
//        //2.通过实体条件删除
//        itemOrderService.deleteByEntity(itemOrder);
//        //3.通过参数删除
//        //通过map查询
//        Map<String,Object> params = new HashMap<String,Object>();
//        
//        if(!isEmpty(itemOrder.getUserId())){
//            params.put("userId", itemOrder.getUserId());
//        }
//       
//        if(!isEmpty(itemOrder.getUserName())){
//            params.put("userName", itemOrder.getUserName());
//        }
//       
//        if(!isEmpty(itemOrder.getName())){
//            params.put("name", itemOrder.getName());
//        }
//       
//        if(!isEmpty(itemOrder.getPrice())){
//            params.put("price", itemOrder.getPrice());
//        }
//       
//        if(!isEmpty(itemOrder.getStatus())){
//            params.put("status", itemOrder.getStatus());
//        }
//       
//        if(!isEmpty(itemOrder.getIsDelete())){
//            params.put("isDelete", itemOrder.getIsDelete());
//        }
//       
//        if(!isEmpty(itemOrder.getPayTime())){
//            params.put("payTime", itemOrder.getPayTime());
//        }
//       
//        itemOrderService.deleteByMap(params);
//        //4.状态删除
//        ItemOrder load = itemOrderService.getById(itemOrder.getId())
//        load.setIsDelete(1);
//        itemOrderService.updateById(load);
        //5.状态删除
        //ItemOrder load = itemOrderService.load(id);
        //load.setIsDelete(1);
        //itemOrderService.updateById(load);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("message", "删除成功");
        return jsonObject.toString();
    }
    /**
     * 单文件上传
     * @param file
     * @param request
     * @param model
     * @return
     */
    @RequestMapping(value = "/saveFile")  
    public String saveFile(@RequestParam(value = "file", required = false) MultipartFile file, HttpServletRequest request, Model model) {  
  
        System.out.println("开始");  
        String path = request.getSession().getServletContext().getRealPath("/upload");  
        String fileName = file.getOriginalFilename();  
        System.out.println(path);  
        File targetFile = new File(path, fileName);  
        if(!targetFile.exists()){  
            targetFile.mkdirs();  
        }  
        //保存  
        try {  
            file.transferTo(targetFile);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
  
        return "";  
    }  
    
    
    /**
     * springMvc多文件上传
     * @param files
     * @param id
     * @return
     */
    @RequestMapping(value = "/saveFiles")
    public String saveFiles(@RequestParam("file") CommonsMultipartFile[] files,Integer id,HttpServletRequest request){
        for(int i = 0;i<files.length;i++){
              System.out.println("fileName---------->" + files[i].getOriginalFilename());
          if(!files[i].isEmpty()){
            int pre = (int) System.currentTimeMillis();
             try {
            //拿到输出流,同时重命名上传的文件
             String filePath = request.getRealPath("/upload");
             File f=new File(filePath);
             if(!f.exists()){
                f.mkdirs();
             }
             String fileNmae=new Date().getTime() + files[i].getOriginalFilename();
             File file=new File(filePath+"/"+pre + files[i].getOriginalFilename());
              if(!file.exists()){
                  file.createNewFile();
             }
              files[i].transferTo(file);
             } catch (Exception e) {
                e.printStackTrace();
                System.out.println("上传出错");
             }
          }
        }
      return "";
    }
 // --------------------------------------- 华丽分割线 ------------------------------
    
    
}
 

 

 

 

 

  • 点赞
  • 收藏
  • 分享
  • 文章举报
myqq80213251 发布了7 篇原创文章 · 获赞 1 · 访问量 120 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐