源码获取:关注文末gongzhonghao,017领取下载链接
开发工具:IDEA ,Tomcat8.0,数据库:mysql5.7
/**
* FileName: CategoryController
*
* Date: 2020/9/30 17:04
* Description:
*/
package com.qst.goldenarches.controller;
import com.github.pagehelper.PageHelper;
import com.qst.goldenarches.pojo.Category;
import com.qst.goldenarches.pojo.Msg;
import com.qst.goldenarches.pojo.Product;
import com.qst.goldenarches.service.CategoryService;
import com.sun.org.apache.regexp.internal.RE;
import com.sun.org.apache.xml.internal.security.keys.keyresolver.implementations.PrivateKeyResolver;
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.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Controller
@RequestMapping("/category")
public class CategoryController {
@Autowired
private CategoryService categoryService;
/***
* 商品类别:获取类别
* 根据传入的商品类别id获取有商品的商品类别
* @param categoryid
* @return
*/
@ResponseBody
@RequestMapping("getCategories")
public Msg getHaveProductCategories(Integer[] categoryid){
Map<String, Object> map = new HashMap<String, Object>();
map.put("categoryids", categoryid);
List<Category> categories =categoryService.getHaveProductCategories(map);
return Msg.success().add("categoryList",categories);
}
/***
* 商品类别:批量删除商品类别
* @param categoryid
* @returns
*/
@ResponseBody
@RequestMapping("deleteBatch")
public Msg deleteBatch(Integer[] categoryid){
try {
Map<String, Object> map = new HashMap<String, Object>();
map.put("categoryids", categoryid);
if (!categoryService.deleteProducts(map)){
return Msg.fail();
}
} catch (Exception e) {
e.printStackTrace();
return Msg.fail();
}
return Msg.success();
}
/**
* 商品类别:执行单个删除商品类别
* @param id
* @return
*/
@ResponseBody
@RequestMapping("deleteOne")
public Msg deleteOne(Integer id){
try {
if(!categoryService.reomveCategory(id)){
return Msg.fail();
}
}catch (Exception e){
e.printStackTrace();
return Msg.fail();
}
return Msg.success();
}
/**
* 商品类别:执行商品信息修改方法
* @param category
* @return
*/
@ResponseBody
@RequestMapping("doEdit")
public Msg doEdit(Category category){
try {
if(!categoryService.editCategory(category)){
return Msg.fail();
}
}catch (Exception e){
e.printStackTrace();
return Msg.fail();
}
return Msg.success();
}
/**
* 商品类别:跳转方法
* 跳转到商品类别修改界面
* @return
*/
@RequestMapping("edit")
public String toEdit(Category category, Model model){
model.addAttribute("category", category);
return "category/edit";
}
/**
* 商品类别:添加商品类别
* @param category
* @return
*/
@ResponseBody
@RequestMapping("doAdd")
public Msg doAdd(Category category){
Boolean flag =categoryService.addCategory(category);
if (flag){
return Msg.success().add("category",category);
}
return Msg.fail();
}
/***
* 商品类别:跳转方法
* 跳转到商品类别添加界面
* @return
*/
@RequestMapping("add")
public String toAdd(){
return "category/add";
}
/**
* 商品类别:分页查找
* 查询全部商品类别并分页显示
* @param pn 页码
* @return json数据 Msg
*/
@ResponseBody
@RequestMapping("pagedGetAll")
public Msg pagedGetAll(@RequestParam(value = "pageno",defaultValue = "1") Integer pn, String queryText){
PageHelper.startPage(pn,5);
List<Category> categories =categoryService.getAll(queryText);
com.github.pagehelper.PageInfo<Category> categoryPageInfo =new com.github.pagehelper.PageInfo<Category>(categories,5);
return Msg.success().add("pageInfo",categoryPageInfo);
}
/**
* 商品后台:跳转方法
* 跳转至商品类别主页
* @return
*/
@RequestMapping("index")
public String toIndex(){
return "category/index";
}
/***
* 商品后台:获取全部商品类别
* @return
*/
@ResponseBody
@RequestMapping("/getAll")
public Msg getAll(){
List<Category> categories =categoryService.getAll(null);
return Msg.success().add("categoryInfo",categories);
}
}
/** * FileName: AdminController * * Date: 2020/10/6 17:59 * Description: 管理员控制类 */ package com.qst.goldenarches.controller; import com.github.pagehelper.PageHelper; import com.qst.goldenarches.pojo.*; import com.qst.goldenarches.service.AdminService; import com.qst.goldenarches.service.PermissionService; import com.qst.goldenarches.service.RoleService; 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.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpSession; import java.text.SimpleDateFormat; import java.util.*; @Controller @RequestMapping("admin") public class AdminController { @Autowired private AdminService adminService; @Autowired private RoleService roleService; @Autowired private PermissionService permissionService; /** * 跳转到错误页面(权限不足) * @return */ @RequestMapping("error") public String error() { return "admin/error"; } /** * 删除管理员的角色 * @param adminId * @param assignRoleIds * @return */ @ResponseBody @RequestMapping("doUnAssign") public Object dounAssign( Integer adminId, Integer[] assignRoleIds ) { try { // 删除关系表数据 Map<String, Object> map = new HashMap<String, Object>(); map.put("adminId", adminId); map.put("roleIds", assignRoleIds); adminService.removeAdminRoles(map); return Msg.success(); } catch ( Exception e ) { e.printStackTrace(); return Msg.fail(); } } /** * 为管理员分配角色 * @param adminId * @param unassignRoleIds * @return */ @ResponseBody @RequestMapping("doAssign") public Object doAssign( Integer adminId, Integer[] unassignRoleIds ) { try { // 增加admin_role关系表数据 Map<String, Object> map = new HashMap<String, Object>(); map.put("adminId", adminId); map.put("roleIds", unassignRoleIds); adminService.addAdminRoles(map); return Msg.success(); } catch ( Exception e ) { e.printStackTrace(); return Msg.fail(); } } /** * 页面跳转: * 跳转到管理员角色分配页面 * 数据回显,显示已经分配的角色 * 和没有分配的角色 * @param id * @param model * @return */ @RequestMapping("/assign") public String assign( Integer id, Model model ) { Admin admin = adminService.getAdminById(id); model.addAttribute("admin", admin); List<Role> roles = roleService.getAllRoles(null); List<Role> assingedRoles = new ArrayList<Role>(); List<Role> unassignRoles = new ArrayList<Role>(); // 获取关系表的数据 List<Integer> roleids = adminService.getRoleIdsByAdminId(id); for ( Role role : roles ) { if ( roleids.contains(role.getId()) ) { assingedRoles.add(role); } else { unassignRoles.add(role); } } model.addAttribute("assingedRoles", assingedRoles); model.addAttribute("unassignRoles", unassignRoles); return "admin/assign"; } /** * 根据id删除管理员 * @param adminid * @return */ @ResponseBody @RequestMapping("/deletes") public Msg deletes( Integer[] adminid ) { try { if (adminid.length>0){ Map<String, Object> map = new HashMap<String, Object>(); map.put("adminids", adminid); adminService.removeAdmins(map); return Msg.success(); } return Msg.fail(); } catch ( Exception e ) { e.printStackTrace(); return Msg.fail(); } } /** * 实现用户修改业务逻辑 * @param admin * @return */ @ResponseBody @RequestMapping("/doEdit") public Msg update(HttpSession session, Admin admin ) { try { Admin sessionAdmin =(Admin) session.getAttribute("loginAdmin"); if(sessionAdmin.getId()==admin.getId()){ adminService.editAdmin(admin); session.setAttribute("loginAdmin",admin); return Msg.success(); } return Msg.fail(); } catch ( Exception e ) { e.printStackTrace(); return Msg.fail(); } } /** * 跳转到修改个人信息(admin)界面 * @param model * @return */ @RequestMapping("/edit") public String edit(HttpSession session,Model model ) { Admin admin =(Admin) session.getAttribute("loginAdmin"); model.addAttribute("admin",admin); return "admin/edit"; } /** * 新增界面实现新增业务 * @param admin * @return */ @ResponseBody @RequestMapping("doAdd") public Msg doAdd( Admin admin ) { try { if (adminService.validateAccountUnique(admin.getAccount())){ admin.setPassword("1234");//默认密码 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); admin.setCreateTime(sdf.format(new Date())); adminService.addAdmin(admin); return Msg.success(); } return Msg.fail(); } catch ( Exception e ) { e.printStackTrace(); return Msg.fail(); } } /** * 检验用户账户唯一性 * @param account * @return */ @RequestMapping("uniqueAcct") @ResponseBody public Msg validateAccountUnique(String account,HttpSession session){ try { if(account!=null) { boolean flag = adminService.validateAccountUnique(account); if (flag){ return Msg.success(); } } return Msg.fail().add("va_msg","账户已存在"); }catch (Exception e){ e.printStackTrace(); return Msg.fail().add("va_mag","服务异常,稍后重试"); } } /** * 跳转到新增界面 * @return */ @RequestMapping("add") public String toAdd(){ return "admin/add"; } /** * * @param pn * @param pagesize * @param queryText * @return */ @ResponseBody @RequestMapping("/pageQuery") public Msg pageQuery( @RequestParam(value = "pageno",defaultValue = "1") Integer pn, @RequestParam(value = "pagesize",defaultValue = "10")Integer pagesize , String queryText) { try { PageHelper.startPage(pn,pagesize); List<Admin> admins =adminService.getAllAdmin(queryText); com.github.pagehelper.PageInfo<Admin> adminPageInfo = new com.github.pagehelper.PageInfo<Admin>(admins,5); return Msg.success().add("pageInfo",adminPageInfo); } catch ( Exception e ) { e.printStackTrace(); return Msg.fail(); } } /** * 页面跳转 * 管理员列表主界面 * @return */ @RequestMapping("/index") public String index(){ return "admin/index"; } /*** * 管理员退出 * @param session * @return */ @RequestMapping("logout") public String logout(HttpSession session){ session.invalidate(); return "redirect:/admin/login"; } /** * 跳转到登陆后的主页面, * 也是数据分析主页面 * @return */ @RequestMapping("main") public String toMain(){ return "admin/main"; } /** * 执行管理员登陆 * @param admin * @param session * @return */ @ResponseBody @RequestMapping("/doLogin") public Msg doLogin(Admin admin, HttpSession session){ Admin dbAdmin =adminService.login(admin); if (dbAdmin!=null){ session.setAttribute("loginAdmin",dbAdmin); // 获取用户权限信息 List<Permission> permissions = permissionService.getPermissionsByAdmin(dbAdmin); Map<Integer, Permission> permissionMap = new HashMap<Integer, Permission>(); Permission root = null; Set<String> uriSet = new HashSet<String>(); for ( Permission permission : permissions ) { permissionMap.put(permission.getId(), permission); if ( permission.getUrl() != null && !"".equals(permission.getUrl()) ) { uriSet.add(session.getServletContext().getContextPath() + permission.getUrl()); } } session.setAttribute("authUriSet", uriSet); for ( Permission permission : permissions ) { Permission child = permission; if ( child.getPid() == 0 ) { root = permission; } else { Permission parent = permissionMap.get(child.getPid()); parent.getChildren().add(child); } } session.setAttribute("rootPermission", root); return Msg.success(); }else { return Msg.fail(); } } /** * 跳转到登陆页面 * @return */ @RequestMapping("login") public String toLogin(){ return "admin/login"; } }