源碼擷取:俺的部落格首頁 "資源" 裡下載下傳!
一、項目運作
1.運作環境
環境配置:
Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支援)
項目技術:
HTML +Springboot+ SpringMVC + MyBatis + ThymeLeaf + JavaScript + JQuery + Ajax + maven等
背景使用者管理控制器:
/**
* 背景使用者管理控制器
*/
@RequestMapping("/admin/user")
@Component
public class UserController {
@Autowired
private UserService userService;
@Autowired
private RoleService roleService;
@Autowired
private OperaterLogService operaterLogService;
/**
* 使用者清單頁面
* @param model
* @return
*/
@RequestMapping("/list")
public String list(Model model, User user, PageBean<User> pageBean){
model.addAttribute("usernmae",user.getUsername());
model.addAttribute("pageBean",userService.findList(user,pageBean));
model.addAttribute("title","使用者清單");
return "admin/user/list";
}
/**
* 使用者添加頁面
* @param model
* @param
* @return
*/
@RequestMapping(value = "/add",method = RequestMethod.GET)
public String add(Model model){
List<Role> all = roleService.findAll();
model.addAttribute("roles",all);
return "admin/user/add";
}
@ResponseBody
@RequestMapping(value = "/add",method = RequestMethod.POST)
public Result<Boolean> add(Model model,User user){
//用統一驗證明體方法驗證是否合法
CodeMsg validate = ValidateEntityUtil.validate(user);
if(validate.getCode()!=CodeMsg.SUCCESS.getCode()){
return Result.error(validate);
}
//判斷使用者的角色是否選擇
if(user.getRole()==null ||user.getRole().getId()==null){
return Result.error(CodeMsg.ADMIN_USER_ROLE_EMPTY);
}
//沒有ID 傳個0進去 0不是Long類型 是以加個0l L
if(userService.isExistUsername(user.getUsername(),0l)){
return Result.error(CodeMsg.ADMIN_USER_NAME_EXIST);
}
//到這說明一切符合條件進行資料庫新增
if(userService.save(user)==null){
return Result.error(CodeMsg.ADMIN_USER_ADD_ERROR);
}
operaterLogService.add("添加使用者,使用者名:"+user.getUsername());
return Result.success(true);
}
/**
* 使用者編輯頁面
* @param model
* @param id
* @return
*/
@RequestMapping(value = "/edit",method = RequestMethod.GET)
public String edit(Model model,@RequestParam(name = "id",required = true) Long id){
model.addAttribute("user",userService.find(id));
model.addAttribute("roles",roleService.findAll());
return "admin/user/edit";
}
/**
* 編輯使用者資訊表單送出處理
* @param user
* @return
*/
@ResponseBody
@RequestMapping(value = "/edit",method = RequestMethod.POST)
public Result<Boolean> edit(User user){
//用統一驗證明體方法驗證是否合法
CodeMsg validate = ValidateEntityUtil.validate(user);
if(validate.getCode()!=CodeMsg.SUCCESS.getCode()){
return Result.error(validate);
}
//判斷使用者的角色是否選擇
if(user.getRole()==null ||user.getRole().getId()==null){
return Result.error(CodeMsg.ADMIN_USER_ROLE_EMPTY);
}
if(user.getId()==null||user.getId().longValue()<=0){
return Result.error(CodeMsg.ADMIN_USER_NO_EXIST);
}
//判斷資料庫user表有沒有這個使用者名
if(userService.isExistUsername(user.getUsername(),user.getId().longValue())){
return Result.error(CodeMsg.ADMIN_USER_NAME_EXIST);
}
//将送出的使用者資訊指定字段複制到已存在的user對象中
User findbyId = userService.find(user.getId());
//把source原來的字段複制到目标對象當中ignoreProperties表示忽略哪些字段 該方法會覆寫新字段内容
BeanUtils.copyProperties(user,findbyId,"id","createTime","updateTime");
//到這說明一切通過 開始進行資料庫編輯
if(userService.save(findbyId)==null){
return Result.error(CodeMsg.ADMIN_USER_EDIT_ERROR);
}
operaterLogService.add("編輯使用者,使用者名:"+user.getUsername());
return Result.success(true);
}
@ResponseBody
@RequestMapping(value = "/delete",method = RequestMethod.POST)
public Result<Boolean> delete(@RequestParam(name = "id",required = true) Long id) {
try {
userService.delete(id);
} catch (Exception e){
return Result.error(CodeMsg.ADMIN_USER_DELETE_ERROR);
}
operaterLogService.add("删除使用者,id為:"+id);
return Result.success(true);
}
}
背景角色管理控制器:
/**
* 背景角色管理控制器
*/
@RequestMapping("/admin/role")
@Controller
public class RoleController {
@Autowired
private MenuService menuService;
private Logger log= LoggerFactory.getLogger(RoleController.class);
@Autowired
private OperaterLogService operaterLogService;
@Autowired
private RoleService roleService;
/**
* 分頁搜尋角色清單
* @param model
* @param role
* @param pageBean
* @return
*/
@RequestMapping(value = "/list")
public String list(Model model, Role role, PageBean<Role> pageBean){
model.addAttribute("title","角色清單");
model.addAttribute("name",role.getName());
model.addAttribute("pageBean",roleService.findByName(role,pageBean));
return "admin/role/list";
}
/**
* 角色添加頁面
* @param model
* @return
*/
@RequestMapping(value = "/add",method = RequestMethod.GET)
public String add(Model model){
List<Menu> all = menuService.findAll();
model.addAttribute("title","添加角色");
model.addAttribute("topMenus", MenuUtil.getTopMenus(all));
model.addAttribute("secondMenus", MenuUtil.getSecondMenus(all));
model.addAttribute("thirdMenus", MenuUtil.getThirdMenus(all));
return "admin/role/add";
}
/**
* 角色添加表單送出處理
* @param role
* @return
*/
@ResponseBody
@RequestMapping(value = "/add",method = RequestMethod.POST)
public Result<Boolean> add(Role role, HttpServletRequest request){
CodeMsg validate = ValidateEntityUtil.validate(role);
if(validate.getCode()!=CodeMsg.SUCCESS.getCode()){
return Result.error(validate);
}
if(roleService.save(role)==null){
return Result.error(CodeMsg.ADMIN_ROLE_ADD_ERROR);
}
log.info("添加角色["+role+"]");
operaterLogService.add("添加角色["+role.getName()+"]");
return Result.success(true);
}
/**
* 角色編輯頁面
* @param id
* @param model
* @return
*/
@RequestMapping(value = "/edit",method = RequestMethod.GET)
public String edit(@RequestParam(name = "id",required = true) Long id, Model model){
List<Menu> all = menuService.findAll();
model.addAttribute("title","添加角色");
model.addAttribute("topMenus", MenuUtil.getTopMenus(all));
model.addAttribute("secondMenus", MenuUtil.getSecondMenus(all));
model.addAttribute("thirdMenus", MenuUtil.getThirdMenus(all));
Role role = roleService.find(id);
model.addAttribute("role",role);
//list轉換為數組
model.addAttribute("authorities", JSONArray.toJSON(role.getAuthorities()).toString());
return "admin/role/edit";
}
/**
* 角色修改表單送出處理
* @param role
* @param request
* @return
*/
@ResponseBody
@RequestMapping(value = "/edit",method = RequestMethod.POST)
public Result<Boolean> edit(Role role, HttpServletRequest request){
CodeMsg validate = ValidateEntityUtil.validate(role);
if(validate.getCode()!=CodeMsg.SUCCESS.getCode()){
return Result.error(validate);
}
Role existRole = roleService.find(role.getId());
if(existRole==null){
return Result.error(CodeMsg.ADMIN_ROLE_NO_EXIST);
}
existRole.setName(role.getName());
existRole.setRemark(role.getRemark());
existRole.setStatus(role.getStatus());
existRole.setAuthorities(role.getAuthorities());
if(roleService.save(existRole)==null){
return Result.error(CodeMsg.ADMIN_ROLE_EDIT_ERROR);
}
log.info("編輯角色["+role+"]");
operaterLogService.add("編輯角色["+role.getName()+"]");
return Result.success(true);
}
@ResponseBody
@RequestMapping(value = "/delete",method = RequestMethod.POST)
public Result<Boolean> delete(@RequestParam(name = "id",required = true) Long id,HttpServletRequest request){
try {
roleService.delete(id);
}catch (Exception e){
return Result.error(CodeMsg.ADMIN_ROLE_DELETE_ERROR);
}
log.info("删除角色ID["+id+"]");
operaterLogService.add("删除角色ID["+id+"]");
return Result.success(true);
}
}
背景學生管理:
/**
* 背景學生管理
*/
@RequestMapping("/admin/student/")
@Controller
public class StudentController {
@Autowired
private StudentService studentService ;
@Autowired
private OperaterLogService operaterLogService;
/**
* 學生管理清單
* @param model
* @return
*/
@RequestMapping("/list")
public String list(Model model, Student student, PageBean<Student> pageBean){
model.addAttribute("pageBean",studentService.findList(student, pageBean));
model.addAttribute("studentLoginName",student.getLoginName());
model.addAttribute("title","學生清單");
return "/admin/student/list";
}
/**
* 背景學生添加頁面
*/
@RequestMapping(value = "/add",method = RequestMethod.GET)
public String add(){
return "/admin/student/add";
}
/**
* 背景學生添加資訊操作
*/
@ResponseBody
@RequestMapping(value = "/add",method = RequestMethod.POST)
public Result<Boolean> add(Model model,Student student){
CodeMsg validate = ValidateEntityUtil.validate(student);
if (validate.getCode() != CodeMsg.SUCCESS.getCode()) {
return Result.error(validate);
}
if(studentService.findByLoginName(student.getLoginName())!=null){
return Result.error(CodeMsg.ADMIN_STUDENT_ISEXIST_ERROR);
}
if(studentService.save(student)==null){
return Result.error(CodeMsg.ADMIN_STUDENT_ADD_ERROR);
}
return Result.success(true);
}
/**
* 編輯學生頁面
* @param model
* @param id
* @return
*/
@RequestMapping(value = "/edit",method = RequestMethod.GET)
public String edit(Model model, @RequestParam("id")Long id){
if(studentService.findById(id)!=null){
model.addAttribute("student",studentService.findById(id));
}
return "/admin/student/edit";
}
/**
* 編輯背景學生資訊
* @param student
* @return
*/
@ResponseBody
@RequestMapping(value = "/edit", method = RequestMethod.POST)
public Result<Boolean> edit(Student student, HttpServletRequest request) {
//用統一驗證明體方法驗證是否合法
CodeMsg validate = ValidateEntityUtil.validate(student);
if (validate.getCode() != CodeMsg.SUCCESS.getCode()) {
return Result.error(validate);
}
//将送出的學生資訊指定字段複制到已存在的student對象中
Student findbyId = studentService.findById(student.getId());
//把source原來的字段複制到目标對象當中ignoreProperties表示忽略哪些字段 該方法會覆寫新字段内容
BeanUtils.copyProperties(student, findbyId, "id", "createTime", "updateTime");
//到這說明一切通過 開始進行資料庫編輯
if (studentService.save(findbyId) == null) {
return Result.error(CodeMsg.ADMIN_STUDENT_EDIT_ERROR);
}
operaterLogService.add("編輯學生,學生姓名:" + student.getStuName());
return Result.success(true);
}
/**
* 學生删除操作
* @param ids
* @return
*/
@ResponseBody
@RequestMapping(value = "/delete", method = RequestMethod.POST)
public Result<Boolean> delete(@RequestParam(name = "ids", required = true) String ids) {
if (!StringUtils.isEmpty(ids)) {
String[] splitIds = ids.split(",");
for (String id : splitIds) {
Student student = studentService.findById(Long.valueOf(id));
if (student != null) {
try {
studentService.delete(Long.valueOf(id));
operaterLogService.add("删除學生,id為:" + id);
}catch (Exception e){
return Result.error(CodeMsg.ADMIN_STUDENT_DELETE_ERROR);
}
}
}
}
return Result.success(true);
}
}