Springboot2模塊系列:thymeleaf+Bootstrap(三)前後端結合--業務邏輯

1 Interface

用戶信息增刪查改接口.

package com.personal.microspersonaluser.mapper;

import java.util.List;
import java.util.Map;
import java.util.HashMap;
import com.personal.microspersonaluser.po.UserInfos;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * @author xdq
 * @description 用戶信息增刪查改.
 * @date 2020/6/6
 */
public interface UserInfosMapper {
    // 添加用戶
    public Integer addUser(UserInfos params);
    // 刪除用戶
    public Integer deleteUser(Integer id );
    // 修改用戶
    public Integer editUser(UserInfos params);
    // 查詢用戶信息
    public List<UserInfos> queryUser(Map params);
    // 查詢單個用戶
    public UserInfos queryUserWithId(Integer id);
    // 用戶登錄
    public UserInfos loginByEmail(String email);
}

2 Service

用戶信息增刪查改實現.

package com.personal.microspersonaluser.service;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.personal.microspersonaluser.mapper.UserInfosMapper;
import com.personal.microspersonaluser.po.UserInfos;

/**
 * @author xdq
 * @description 用戶信息增刪查改實現.
 * @date 2020/6/6
 */
@Service
@Transactional
public class UserInfosService {
    @Autowired
    private UserInfosMapper userInfosMapper;
    // 新建用戶
    public Integer addUser(UserInfos params){
        return userInfosMapper.addUser(params);
    }
    // 刪除用戶
    public Integer deleteUser(Integer id){
        return userInfosMapper.deleteUser(id);
    }
    // 編輯用戶
    public Integer editUser(UserInfos params){
        return userInfosMapper.editUser(params);
    }
    // 查詢所有用戶
    public List queryUser(Map params){
        return userInfosMapper.queryUser(params);
    }
    // 查詢單個用戶
    public UserInfos queryUserWithId(Integer id){
        return userInfosMapper.queryUserWithId(id);
    }
    // 用戶登錄
    public UserInfos loginByEmail(String email){
        return userInfosMapper.loginByEmail(email);
    }
}

3 Controller

用戶信息增刪查改頁面操作.

package com.personal.microspersonaluser.controller;

import com.personal.microspersonaluser.po.UserInfos;
import java.util.Map;
import java.util.HashMap;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.stereotype.Controller;
import org.springframework.http.ResponseEntity; 
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.personal.microspersonaluser.service.UserInfosService;

/**
 * @author xdq
 * @description 用戶信息API及頁面加載.
 * @date 2020/6/6
 */

@CrossOrigin(origins="*", maxAge=3600)
@Controller 
@RequestMapping("/api/page")
public class PageController {
    static Logger logger = LoggerFactory.getLogger(PageController.class);
    @Autowired
    private UserInfosService userInfosService;
    
    // 用戶登錄
    @RequestMapping(value="/login", method=RequestMethod.GET)
    public String login(ModelMap map, Model model, @ModelAttribute UserInfos params, HttpSession session){
        UserInfos userInfos = new UserInfos();
        // map.put("userInfo", userInfos);
        session.setAttribute("loginFlag", "loginFlag");
        model.addAttribute("userInfo", params);
        return "sign-in/index";
    }
    // 新建用戶
    @RequestMapping(value="/ui/user/add", method=RequestMethod.GET)
    public String addUserWithPage(ModelMap map, Model model){
        model.addAttribute("userInfo", new UserInfos());
        return "user-info/add";
    }
    // 用戶信息保存
    @RequestMapping(value="/ui/user/save", method=RequestMethod.POST)
    public String saveAddUserInfo(@ModelAttribute UserInfos params){
        Integer resFlag = userInfosService.addUser(params);
        return "redirect:/api/page/datasshow";
    }
    // 刪除用戶
    @RequestMapping(value="/ui/user/delete", params="id", method=RequestMethod.GET)
    public String deleteUserWithId(@RequestParam("id") Integer id, ModelMap map, Model model){
        System.out.println("id:"+id);
        Integer resFlagDel = userInfosService.deleteUser(id);
        return "redirect:/api/page/datasshow";
    }
    // 修改用戶
    @RequestMapping(value="/ui/user/edit", params="id", method=RequestMethod.GET)
    public String editUserInfo(@RequestParam("id") Integer id, ModelMap map, Model model){
        UserInfos userDatas = userInfosService.queryUserWithId(id);
        System.out.println("id:"+userDatas.getId());
        // params.setUsername("xiaohua");
        model.addAttribute("userInfo", userDatas);
        // model.addAttribute("userInfo", params);
        // System.out.println("username:"+params.getUsername());
        // map.addAttribute("userInfo", new UserInfos());
        return "user-info/edit";
    }
    // 保存修改用戶數據
    @RequestMapping(value="/ui/user/update", method=RequestMethod.POST)
    public String editSaveUserInfo(@ModelAttribute UserInfos params, Model model){
        model.addAttribute("userInfo", params);
        Integer resFlag = userInfosService.editUser(params);
        return "redirect:/api/page/datasshow";
    }
    // 查詢所有用戶信息
    @RequestMapping(value="/ui/user/query", method=RequestMethod.GET)
    public ModelAndView dataQuery(@RequestParam("username") String username, ModelMap map){
        // System.out.println("email from sign:"+params.getEmail());
        Integer pageNum=0,pageSize=5;
        PageHelper.startPage(pageNum, pageSize);
        map.put("username", username);
        List resFlag = userInfosService.queryUser(map);
        PageInfo pageInfo = new PageInfo(resFlag, pageSize);
        ModelAndView mav = new ModelAndView("datasshow/index");
        // mav.addObject("resultLi", resFlag);
        mav.addObject("resultLi", pageInfo);
        mav.addObject("total", pageInfo.getTotal());
        mav.addObject("pageNum", pageInfo.getPageNum());
        mav.addObject("pageSize", pageInfo.getPageSize());
        mav.addObject("isFirstPage", pageInfo.isIsFirstPage());
        mav.addObject("totalPages", pageInfo.getPages());
        mav.addObject("isLastPage", pageInfo.isIsLastPage());
        return mav;
    }
    // 數據展示
    @RequestMapping(value="/datasshow",method=RequestMethod.GET)
    public String datasShow(@ModelAttribute UserInfos params, ModelMap map, Model model, HttpSession session,
    @RequestParam(value="pageNum", defaultValue="0")Integer pageNum,
    @RequestParam(value="pageSize", defaultValue="5") Integer pageSize){
        String url = "sign-in/index";
        Object loginFlag = session.getAttribute("loginFlag");
        System.out.println("login flag:"+loginFlag);
        if(loginFlag == null||!loginFlag.toString().equals("loginFlag")){
            model.addAttribute("userInfo", params);
            url = "redirect:/api/page/login";
        }else{
            map.put("username", "");
            System.out.println("pageSize:"+pageSize);
            PageHelper.startPage(pageNum, pageSize);
            List resFlag = userInfosService.queryUser(map);
            PageInfo pageInfo = new PageInfo(resFlag, pageSize);
            model.addAttribute("resultLi", pageInfo);
            model.addAttribute("total", pageInfo.getTotal());
            model.addAttribute("pageNum", pageInfo.getPageNum());
            model.addAttribute("pageSize", pageInfo.getPageSize());
            model.addAttribute("isFirstPage", pageInfo.isIsFirstPage());
            model.addAttribute("totalPages", pageInfo.getPages());
            model.addAttribute("isLastPage", pageInfo.isIsLastPage());
            url = "datasshow/index"; 
        }
        return url;  
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章