Commit 6de32c6d authored by trumansdo's avatar trumansdo
Browse files

改变目录结构,以防止ide混合打开前端项目,导致误操作改变前端项目的格式


Signed-off-by: default avatartrumansdo <1012243881@qq.com>
parent afdf4eec
package com.ibeetl.admin.console.service;
import com.ibeetl.admin.console.dao.MenuConsoleDao;
import com.ibeetl.admin.core.dao.CoreRoleMenuDao;
import com.ibeetl.admin.core.entity.CoreMenu;
import com.ibeetl.admin.core.rbac.tree.MenuItem;
import com.ibeetl.admin.core.service.CoreBaseService;
import com.ibeetl.admin.core.service.CorePlatformService;
import com.ibeetl.admin.core.util.PlatformException;
import org.beetl.sql.core.engine.PageQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
@Service
@Transactional
public class MenuConsoleService extends CoreBaseService<CoreMenu> {
@Autowired
MenuConsoleDao menuDao;
@Autowired
CoreRoleMenuDao roleMenuDao;
@Autowired
CorePlatformService platformService;
public void queryByCondtion(PageQuery<CoreMenu> query) {
menuDao.queryByCondtion(query);
queryListAfter(query.getList());
}
public Long saveMenu(CoreMenu menu) {
CoreMenu query = new CoreMenu();
query.setCode(menu.getCode());
long queryCount = menuDao.templateCount(query);
if (queryCount > 0) {
throw new PlatformException("菜单编码已存在");
}
menuDao.insert(menu, true);
platformService.clearMenuCache();
return menu.getId();
}
public void deleteMenu(Long menuId) {
deleteMenuId(menuId);
}
public void batchDeleteMenuId(List<Long> menuIds) {
for (Long id : menuIds) {
deleteMenuId(id);
}
platformService.clearMenuCache();
}
public void updateMenu(CoreMenu menu) {
menuDao.updateById(menu);
platformService.clearMenuCache();
}
public CoreMenu getMenu(Long menuId) {
CoreMenu menu = menuDao.unique(menuId);
platformService.clearMenuCache();
return menu;
}
private void deleteMenuId(Long menuId) {
MenuItem root = platformService.buildMenu();
MenuItem fun = root.findChild(menuId);
List<MenuItem> all = fun.findAllItem();
//也删除自身
all.add(fun);
realDeleteMenu(all);
}
private void realDeleteMenu(List<MenuItem> all) {
List<Long> ids = new ArrayList<>(all.size());
for (MenuItem item : all) {
ids.add(item.getId());
this.menuDao.deleteById(item.getId());
}
//删除角色和菜单的关系
roleMenuDao.deleteRoleMenu(ids);
}
}
package com.ibeetl.admin.console.service;
import com.ibeetl.admin.console.dao.MenuConsoleDao;
import com.ibeetl.admin.core.dao.CoreRoleMenuDao;
import com.ibeetl.admin.core.entity.CoreMenu;
import com.ibeetl.admin.core.rbac.tree.MenuItem;
import com.ibeetl.admin.core.service.CoreBaseService;
import com.ibeetl.admin.core.service.CorePlatformService;
import com.ibeetl.admin.core.util.PlatformException;
import org.beetl.sql.core.engine.PageQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
@Service
@Transactional
public class MenuConsoleService extends CoreBaseService<CoreMenu> {
@Autowired
MenuConsoleDao menuDao;
@Autowired
CoreRoleMenuDao roleMenuDao;
@Autowired
CorePlatformService platformService;
public void queryByCondtion(PageQuery<CoreMenu> query) {
menuDao.queryByCondtion(query);
queryListAfter(query.getList());
}
public Long saveMenu(CoreMenu menu) {
CoreMenu query = new CoreMenu();
query.setCode(menu.getCode());
long queryCount = menuDao.templateCount(query);
if (queryCount > 0) {
throw new PlatformException("菜单编码已存在");
}
menuDao.insert(menu, true);
platformService.clearMenuCache();
return menu.getId();
}
public void deleteMenu(Long menuId) {
deleteMenuId(menuId);
}
public void batchDeleteMenuId(List<Long> menuIds) {
for (Long id : menuIds) {
deleteMenuId(id);
}
platformService.clearMenuCache();
}
public void updateMenu(CoreMenu menu) {
menuDao.updateById(menu);
platformService.clearMenuCache();
}
public CoreMenu getMenu(Long menuId) {
CoreMenu menu = menuDao.unique(menuId);
platformService.clearMenuCache();
return menu;
}
private void deleteMenuId(Long menuId) {
MenuItem root = platformService.buildMenu();
MenuItem fun = root.findChild(menuId);
List<MenuItem> all = fun.findAllItem();
//也删除自身
all.add(fun);
realDeleteMenu(all);
}
private void realDeleteMenu(List<MenuItem> all) {
List<Long> ids = new ArrayList<>(all.size());
for (MenuItem item : all) {
ids.add(item.getId());
this.menuDao.deleteById(item.getId());
}
//删除角色和菜单的关系
roleMenuDao.deleteRoleMenu(ids);
}
}
package com.ibeetl.admin.console.web;
package com.ibeetl.admin.console.web;
import java.util.List;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.beetl.sql.core.engine.PageQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import com.ibeetl.admin.console.service.AuditConsoleService;
import com.ibeetl.admin.console.web.query.AuditQuery;
import com.ibeetl.admin.console.web.query.UserQuery;
import com.ibeetl.admin.core.annotation.Function;
import com.ibeetl.admin.core.annotation.Query;
import com.ibeetl.admin.core.entity.CoreAudit;
import com.ibeetl.admin.core.util.AnnotationUtil;
import com.ibeetl.admin.core.web.JsonResult;
/**
* 用户管理接口
* @author xiandafu
*
*/
@Controller
public class AuditConsoleController {
private final Log log = LogFactory.getLog(this.getClass());
private static final String MODEL = "/admin/audit";
@Autowired
AuditConsoleService auditConsoleService;
/*页面*/
@GetMapping(MODEL + "/index.do")
@Function("trace")
public ModelAndView index() {
ModelAndView view = new ModelAndView("/admin/audit/index.html");
view.addObject("search", AuditQuery.class.getName());
return view;
}
/*Json*/
@PostMapping(MODEL + "/view.json")
@ResponseBody
@Function("trace")
public JsonResult<CoreAudit> view(Long id) {
CoreAudit audit = auditConsoleService.queryById(id);
return JsonResult.success(audit);
}
@RequestMapping(MODEL + "/list.json")
@Function("trace")
@ResponseBody
public JsonResult<PageQuery<CoreAudit>> list(AuditQuery condtion) {
PageQuery<CoreAudit> page = condtion.getPageQuery();
auditConsoleService.queryByCondtion(page);
return JsonResult.success(page);
}
@PostMapping(MODEL + "/list/condition.json")
@Function("trace")
@ResponseBody
public JsonResult<List<Map<String, Object>>> listCondtion() {
List<Map<String, Object>> list = AnnotationUtil.getInstance().getAnnotations(Query.class, AuditQuery.class);
return JsonResult.success(list);
}
}
import java.util.List;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.beetl.sql.core.engine.PageQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import com.ibeetl.admin.console.service.AuditConsoleService;
import com.ibeetl.admin.console.web.query.AuditQuery;
import com.ibeetl.admin.console.web.query.UserQuery;
import com.ibeetl.admin.core.annotation.Function;
import com.ibeetl.admin.core.annotation.Query;
import com.ibeetl.admin.core.entity.CoreAudit;
import com.ibeetl.admin.core.util.AnnotationUtil;
import com.ibeetl.admin.core.web.JsonResult;
/**
* 用户管理接口
* @author xiandafu
*
*/
@Controller
public class AuditConsoleController {
private final Log log = LogFactory.getLog(this.getClass());
private static final String MODEL = "/admin/audit";
@Autowired
AuditConsoleService auditConsoleService;
/*页面*/
@GetMapping(MODEL + "/index.do")
@Function("trace")
public ModelAndView index() {
ModelAndView view = new ModelAndView("/admin/audit/index.html");
view.addObject("search", AuditQuery.class.getName());
return view;
}
/*Json*/
@PostMapping(MODEL + "/view.json")
@ResponseBody
@Function("trace")
public JsonResult<CoreAudit> view(Long id) {
CoreAudit audit = auditConsoleService.queryById(id);
return JsonResult.success(audit);
}
@RequestMapping(MODEL + "/list.json")
@Function("trace")
@ResponseBody
public JsonResult<PageQuery<CoreAudit>> list(AuditQuery condtion) {
PageQuery<CoreAudit> page = condtion.getPageQuery();
auditConsoleService.queryByCondtion(page);
return JsonResult.success(page);
}
@PostMapping(MODEL + "/list/condition.json")
@Function("trace")
@ResponseBody
public JsonResult<List<Map<String, Object>>> listCondtion() {
List<Map<String, Object>> list = AnnotationUtil.getInstance().getAnnotations(Query.class, AuditQuery.class);
return JsonResult.success(list);
}
}
package com.ibeetl.admin.console.web;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.beetl.sql.core.engine.PageQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import com.ibeetl.admin.console.service.MenuConsoleService;
import com.ibeetl.admin.console.web.query.FunctionQuery;
import com.ibeetl.admin.console.web.query.MenuQuery;
import com.ibeetl.admin.core.annotation.Function;
import com.ibeetl.admin.core.annotation.Query;
import com.ibeetl.admin.core.entity.CoreFunction;
import com.ibeetl.admin.core.entity.CoreMenu;
import com.ibeetl.admin.core.rbac.tree.MenuItem;
import com.ibeetl.admin.core.service.CorePlatformService;
import com.ibeetl.admin.core.util.AnnotationUtil;
import com.ibeetl.admin.core.util.ConvertUtil;
import com.ibeetl.admin.core.web.JsonResult;
/**
* @author lijiazhi
*/
@Controller
public class MenuController {
private static final String MODEL = "/admin/menu";
private final Log log = LogFactory.getLog(this.getClass());
@Autowired
MenuConsoleService menuService;
@Autowired
CorePlatformService platformService;
/*页面*/
@GetMapping(MODEL + "/index.do")
@Function("menu")
public ModelAndView index() {
ModelAndView view = new ModelAndView("/admin/menu/index.html");
view.addObject("search", MenuQuery.class.getName());
return view;
}
@GetMapping(MODEL + "/add.do")
@Function("menu.add")
public ModelAndView add() {
ModelAndView view = new ModelAndView("/admin/menu/add.html");
return view;
}
@GetMapping(MODEL + "/edit.do")
@Function("menu.edit")
public ModelAndView edit(Integer id) {
ModelAndView view = new ModelAndView("/admin/menu/edit.html");
CoreMenu menu = menuService.queryById(id);
view.addObject("menu", menu);
return view;
}
/*Json*/
/**
* 查询
* @param menu
* @return
*/
@PostMapping(MODEL + "/list/condition.json")
@Function("menu.query")
@ResponseBody
public JsonResult condition() {
List<Map<String, Object>> list = AnnotationUtil.getInstance().getAnnotations(Query.class, MenuQuery.class);
return JsonResult.success(list);
}
@PostMapping(MODEL + "/list.json")
@Function("menu.query")
@ResponseBody
public JsonResult<PageQuery> list(MenuQuery condtion) {
PageQuery page = condtion.getPageQuery();
menuService.queryByCondtion(page);
return JsonResult.success(page);
}
/**
* 添加
* @param menu
* @return
*/
@PostMapping(MODEL + "/save.json")
@Function("menu.save")
@ResponseBody
public JsonResult save(@Validated CoreMenu menu) {
menu.setCreateTime(new Date());
Long id = menuService.saveMenu(menu);
return JsonResult.success(id);
}
/**
* 更新
* @param fun
* @return
*/
@PostMapping(MODEL + "/update.json")
@Function("menu.update")
@ResponseBody
public JsonResult update(CoreMenu fun) {
menuService.updateMenu(fun);
return new JsonResult().success();
}
/**
* 根据id查询菜单信息
* @param id 菜单Id
* @return
*/
@PostMapping(MODEL + "/view.json")
@Function("menu.query")
@ResponseBody
public JsonResult<CoreMenu> view(Long id) {
CoreMenu fun = menuService.queryById(id);
MenuItem root = this.platformService.buildMenu();
MenuItem child = root.findChild(fun.getId());
CoreMenu parent = child.getParent().getData();
fun.set("parentMenuName", parent.getName());
return JsonResult.success(fun);
}
/**
* 删除
* @param id 菜单id
* @return
*/
@PostMapping(MODEL + "/delete.json")
@Function("menu.delete")
@ResponseBody
public JsonResult delete(Long id) {
menuService.deleteMenu(id);
return new JsonResult().success();
}
/**
* 批量删除
* @param ids 菜单id集合
* @return
*/
@PostMapping(MODEL + "/batchDel.json")
@Function("menu.delete")
@ResponseBody
public JsonResult delete(String ids) {
List<Long> dels = ConvertUtil.str2longs(ids);
menuService.batchDeleteMenuId(dels);
return new JsonResult().success();
}
}
package com.ibeetl.admin.console.web;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.beetl.sql.core.engine.PageQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import com.ibeetl.admin.console.service.MenuConsoleService;
import com.ibeetl.admin.console.web.query.FunctionQuery;
import com.ibeetl.admin.console.web.query.MenuQuery;
import com.ibeetl.admin.core.annotation.Function;
import com.ibeetl.admin.core.annotation.Query;
import com.ibeetl.admin.core.entity.CoreFunction;
import com.ibeetl.admin.core.entity.CoreMenu;
import com.ibeetl.admin.core.rbac.tree.MenuItem;
import com.ibeetl.admin.core.service.CorePlatformService;
import com.ibeetl.admin.core.util.AnnotationUtil;
import com.ibeetl.admin.core.util.ConvertUtil;
import com.ibeetl.admin.core.web.JsonResult;
/**
* @author lijiazhi
*/
@Controller
public class MenuController {
private static final String MODEL = "/admin/menu";
private final Log log = LogFactory.getLog(this.getClass());
@Autowired
MenuConsoleService menuService;
@Autowired
CorePlatformService platformService;
/*页面*/
@GetMapping(MODEL + "/index.do")
@Function("menu")
public ModelAndView index() {
ModelAndView view = new ModelAndView("/admin/menu/index.html");
view.addObject("search", MenuQuery.class.getName());
return view;
}
@GetMapping(MODEL + "/add.do")
@Function("menu.add")
public ModelAndView add() {
ModelAndView view = new ModelAndView("/admin/menu/add.html");
return view;
}
@GetMapping(MODEL + "/edit.do")
@Function("menu.edit")
public ModelAndView edit(Integer id) {
ModelAndView view = new ModelAndView("/admin/menu/edit.html");
CoreMenu menu = menuService.queryById(id);
view.addObject("menu", menu);
return view;
}
/*Json*/
/**
* 查询
* @param menu
* @return
*/
@PostMapping(MODEL + "/list/condition.json")
@Function("menu.query")
@ResponseBody
public JsonResult condition() {
List<Map<String, Object>> list = AnnotationUtil.getInstance().getAnnotations(Query.class, MenuQuery.class);
return JsonResult.success(list);
}
@PostMapping(MODEL + "/list.json")
@Function("menu.query")
@ResponseBody
public JsonResult<PageQuery> list(MenuQuery condtion) {
PageQuery page = condtion.getPageQuery();
menuService.queryByCondtion(page);
return JsonResult.success(page);
}
/**
* 添加
* @param menu
* @return
*/
@PostMapping(MODEL + "/save.json")
@Function("menu.save")
@ResponseBody
public JsonResult save(@Validated CoreMenu menu) {
menu.setCreateTime(new Date());
Long id = menuService.saveMenu(menu);
return JsonResult.success(id);
}
/**
* 更新
* @param fun
* @return
*/
@PostMapping(MODEL + "/update.json")
@Function("menu.update")
@ResponseBody
public JsonResult update(CoreMenu fun) {
menuService.updateMenu(fun);
return new JsonResult().success();
}
/**
* 根据id查询菜单信息
* @param id 菜单Id
* @return
*/
@PostMapping(MODEL + "/view.json")
@Function("menu.query")
@ResponseBody
public JsonResult<CoreMenu> view(Long id) {
CoreMenu fun = menuService.queryById(id);
MenuItem root = this.platformService.buildMenu();
MenuItem child = root.findChild(fun.getId());
CoreMenu parent = child.getParent().getData();
fun.set("parentMenuName", parent.getName());
return JsonResult.success(fun);
}
/**
* 删除
* @param id 菜单id
* @return
*/
@PostMapping(MODEL + "/delete.json")
@Function("menu.delete")
@ResponseBody
public JsonResult delete(Long id) {
menuService.deleteMenu(id);
return new JsonResult().success();
}
/**
* 批量删除
* @param ids 菜单id集合
* @return
*/
@PostMapping(MODEL + "/batchDel.json")
@Function("menu.delete")
@ResponseBody
public JsonResult delete(String ids) {
List<Long> dels = ConvertUtil.str2longs(ids);
menuService.batchDeleteMenuId(dels);
return new JsonResult().success();
}
}
package com.ibeetl.admin.console.web;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.beetl.sql.core.engine.PageQuery;
import org.jxls.common.Context;
import org.jxls.util.JxlsHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import com.ibeetl.admin.console.service.OrgConsoleService;
import com.ibeetl.admin.console.service.RoleConsoleService;
import com.ibeetl.admin.console.service.UserConsoleService;
import com.ibeetl.admin.console.web.dto.UserExcelExportData;
import com.ibeetl.admin.console.web.query.UserQuery;
import com.ibeetl.admin.console.web.query.UserRoleQuery;
import com.ibeetl.admin.core.annotation.Function;
import com.ibeetl.admin.core.annotation.Query;
import com.ibeetl.admin.core.entity.CoreUser;
import com.ibeetl.admin.core.entity.CoreUserRole;
import com.ibeetl.admin.core.file.FileItem;
import com.ibeetl.admin.core.file.FileService;
import com.ibeetl.admin.core.service.CorePlatformService;
import com.ibeetl.admin.core.util.AnnotationUtil;
import com.ibeetl.admin.core.util.ConvertUtil;
import com.ibeetl.admin.core.util.PlatformException;
import com.ibeetl.admin.core.util.ValidateConfig;
import com.ibeetl.admin.core.util.enums.GeneralStateEnum;
import com.ibeetl.admin.core.web.JsonResult;
/**
* 用户管理接口
*
* @author xiandafu
*/
@Controller
public class UserConsoleController {
private final Log log = LogFactory.getLog(this.getClass());
private static final String MODEL = "/admin/user";
@Autowired
UserConsoleService userConsoleService;
@Autowired
CorePlatformService platformService;
@Autowired
RoleConsoleService roleConsoleService;
@Autowired
OrgConsoleService orgConsoleService;
@Autowired
FileService fileService;
/* 页面 */
@GetMapping(MODEL + "/index.do")
@Function("user")
public ModelAndView index() {
ModelAndView view = new ModelAndView("/admin/user/index.html");
view.addObject("search", UserQuery.class.getName());
return view;
}
@GetMapping(MODEL + "/edit.do")
@Function("user.edit")
public ModelAndView edit(String id) {
ModelAndView view = new ModelAndView("/admin/user/edit.html");
CoreUser user = userConsoleService.queryById(id);
view.addObject("user", user);
return view;
}
@GetMapping(MODEL + "/add.do")
@Function("user.add")
public ModelAndView add() {
ModelAndView view = new ModelAndView("/admin/user/add.html");
return view;
}
@GetMapping(MODEL + "/changePassword.do")
@Function("user.add")
public ModelAndView changePassword(Long id) {
CoreUser user = userConsoleService.queryById(id);
ModelAndView view = new ModelAndView("/admin/user/changePassword.html");
view.addObject("user", user);
return view;
}
@GetMapping(MODEL + "/role/list.do")
@Function("user.role")
public ModelAndView userRoleIndex(Long id) {
CoreUser user = userConsoleService.queryById(id);
ModelAndView view = new ModelAndView("/admin/user/userRole.html");
view.addObject("search", UserRoleQuery.class.getName());
view.addObject("user", user);
return view;
}
@GetMapping(MODEL + "/role/add.do")
@Function("user.role")
public ModelAndView userRoleAdd(Long id) {
CoreUser user = userConsoleService.queryById(id);
ModelAndView view = new ModelAndView("/admin/user/userRoleAdd.html");
view.addObject("user", user);
return view;
}
/* Json */
@PostMapping(MODEL + "/delete.json")
@Function("user.delete")
@ResponseBody
public JsonResult delete(String ids) {
List<Long> dels = ConvertUtil.str2longs(ids);
userConsoleService.batchDelSysUser(dels);
return JsonResult.success();
}
@PostMapping(MODEL + "/update.json")
@Function("user.update")
@ResponseBody
public JsonResult update(@Validated(ValidateConfig.UPDATE.class) CoreUser user) {
boolean success = userConsoleService.updateTemplate(user);
if (success) {
this.platformService.clearFunctionCache();
return JsonResult.success();
} else {
return JsonResult.failMessage("保存失败!");
}
}
@PostMapping(MODEL + "/add.json")
@Function("user.add")
@ResponseBody
public JsonResult<Long> add(@Validated(ValidateConfig.ADD.class) CoreUser user) {
if (!platformService.isAllowUserName(user.getCode())) {
return JsonResult.failMessage("不允许的注册名字 " + user.getCode());
}
user.setCreateTime(new Date());
userConsoleService.saveUser(user);
return JsonResult.success(user.getId());
}
@PostMapping(MODEL + "/view.json")
@ResponseBody
@Function("user.query")
public JsonResult<CoreUser> view(Long id) {
CoreUser user = userConsoleService.queryById(id);
return JsonResult.success(user);
}
@PostMapping(MODEL + "/list.json")
@Function("user.query")
@ResponseBody
public JsonResult<PageQuery<CoreUser>> index(UserQuery condtion) {
PageQuery<CoreUser> page = condtion.getPageQuery();
userConsoleService.queryByCondtion(page);
return JsonResult.success(page);
}
@PostMapping(MODEL + "/list/condition.json")
@Function("user.query")
@ResponseBody
public JsonResult<List<Map<String, Object>>> indexCondtion() {
List<Map<String, Object>> list = AnnotationUtil.getInstance().getAnnotations(Query.class, UserQuery.class);
return JsonResult.success(list);
}
@PostMapping(MODEL + "/disable.json")
@Function("user.disable")
@ResponseBody
public JsonResult disableUser(String ids) {
List<Long> dels = ConvertUtil.str2longs(ids);
userConsoleService.batchUpdateUserState(dels, GeneralStateEnum.DISABLE);
for (Long id : dels) {
CoreUser user = userConsoleService.queryById(id);
this.platformService.restUserSession(user.getCode());
}
return JsonResult.success();
}
/**
* 启用用户操作
*
* @return
*/
@PostMapping(MODEL + "/enable.json")
@Function("user.enable")
@ResponseBody
public JsonResult enableUser(String ids) {
List<Long> enables = ConvertUtil.str2longs(ids);
userConsoleService.batchUpdateUserState(enables, GeneralStateEnum.ENABLE);
return JsonResult.success();
}
/**
* 管理员重置用户密码
*
* @return
*/
@PostMapping(MODEL + "/changePassword.json")
@Function("user.reset")
@ResponseBody
public JsonResult changePassword(Long id, String password) {
userConsoleService.resetPassword(id, password);
return new JsonResult().success();
}
/**
* 用户所有授权角色列表
*
* @param id 用户id
* @return
*/
@PostMapping(MODEL + "/role/list.json")
@Function("user.role")
@ResponseBody
public JsonResult<List<CoreUserRole>> getRoleList(UserRoleQuery roleQuery) {
List<CoreUserRole> list = userConsoleService.getUserRoles(roleQuery);
return JsonResult.success(list);
}
/**
* 用户添加授权角色页
*
* @return
*/
@PostMapping(MODEL + "/role/add.json")
@Function("user.role")
@ResponseBody
public JsonResult saveUserRole(@Validated CoreUserRole userRole) {
userRole.setCreateTime(new Date());
this.userConsoleService.saveUserRole(userRole);
this.platformService.clearFunctionCache();
return JsonResult.success(userRole.getId());
}
/**
* 删除用户角色授权
*
* @return
*/
@PostMapping(MODEL + "/role/delete.json")
@Function("user.role")
@ResponseBody
public JsonResult delUserRole(String ids) {
List<Long> dels = ConvertUtil.str2longs(ids);
userConsoleService.deleteUserRoles(dels);
this.platformService.clearFunctionCache();
return JsonResult.success();
}
@PostMapping(MODEL + "/excel/export.json")
@Function("user.export")
@ResponseBody
public JsonResult<String> export(HttpServletResponse response, UserQuery condtion) {
String excelTemplate = "excelTemplates/admin/user/user_collection_template.xls";
PageQuery<CoreUser> page = condtion.getPageQuery();
//取出全部符合条件的
page.setPageSize(Integer.MAX_VALUE);
page.setPageNumber(1);
page.setTotalRow(Integer.MAX_VALUE);
List<UserExcelExportData> users = userConsoleService.queryExcel(page);
try (InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(excelTemplate)) {
if (is == null) {
throw new PlatformException("模板资源不存在:" + excelTemplate);
}
FileItem item = fileService.createFileTemp("user_collection.xls");
OutputStream os = item.openOutpuStream();
Context context = new Context();
context.putVar("users", users);
JxlsHelper.getInstance().processTemplate(is, os, context);
//下载参考FileSystemContorller
return JsonResult.success(item.getPath());
} catch (IOException e) {
throw new PlatformException(e.getMessage());
}
}
}
package com.ibeetl.admin.console.web;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.beetl.sql.core.engine.PageQuery;
import org.jxls.common.Context;
import org.jxls.util.JxlsHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import com.ibeetl.admin.console.service.OrgConsoleService;
import com.ibeetl.admin.console.service.RoleConsoleService;
import com.ibeetl.admin.console.service.UserConsoleService;
import com.ibeetl.admin.console.web.dto.UserExcelExportData;
import com.ibeetl.admin.console.web.query.UserQuery;
import com.ibeetl.admin.console.web.query.UserRoleQuery;
import com.ibeetl.admin.core.annotation.Function;
import com.ibeetl.admin.core.annotation.Query;
import com.ibeetl.admin.core.entity.CoreUser;
import com.ibeetl.admin.core.entity.CoreUserRole;
import com.ibeetl.admin.core.file.FileItem;
import com.ibeetl.admin.core.file.FileService;
import com.ibeetl.admin.core.service.CorePlatformService;
import com.ibeetl.admin.core.util.AnnotationUtil;
import com.ibeetl.admin.core.util.ConvertUtil;
import com.ibeetl.admin.core.util.PlatformException;
import com.ibeetl.admin.core.util.ValidateConfig;
import com.ibeetl.admin.core.util.enums.GeneralStateEnum;
import com.ibeetl.admin.core.web.JsonResult;
/**
* 用户管理接口
*
* @author xiandafu
*/
@Controller
public class UserConsoleController {
private final Log log = LogFactory.getLog(this.getClass());
private static final String MODEL = "/admin/user";
@Autowired
UserConsoleService userConsoleService;
@Autowired
CorePlatformService platformService;
@Autowired
RoleConsoleService roleConsoleService;
@Autowired
OrgConsoleService orgConsoleService;
@Autowired
FileService fileService;
/* 页面 */
@GetMapping(MODEL + "/index.do")
@Function("user")
public ModelAndView index() {
ModelAndView view = new ModelAndView("/admin/user/index.html");
view.addObject("search", UserQuery.class.getName());
return view;
}
@GetMapping(MODEL + "/edit.do")
@Function("user.edit")
public ModelAndView edit(String id) {
ModelAndView view = new ModelAndView("/admin/user/edit.html");
CoreUser user = userConsoleService.queryById(id);
view.addObject("user", user);
return view;
}
@GetMapping(MODEL + "/add.do")
@Function("user.add")
public ModelAndView add() {
ModelAndView view = new ModelAndView("/admin/user/add.html");
return view;
}
@GetMapping(MODEL + "/changePassword.do")
@Function("user.add")
public ModelAndView changePassword(Long id) {
CoreUser user = userConsoleService.queryById(id);
ModelAndView view = new ModelAndView("/admin/user/changePassword.html");
view.addObject("user", user);
return view;
}
@GetMapping(MODEL + "/role/list.do")
@Function("user.role")
public ModelAndView userRoleIndex(Long id) {
CoreUser user = userConsoleService.queryById(id);
ModelAndView view = new ModelAndView("/admin/user/userRole.html");
view.addObject("search", UserRoleQuery.class.getName());
view.addObject("user", user);
return view;
}
@GetMapping(MODEL + "/role/add.do")
@Function("user.role")
public ModelAndView userRoleAdd(Long id) {
CoreUser user = userConsoleService.queryById(id);
ModelAndView view = new ModelAndView("/admin/user/userRoleAdd.html");
view.addObject("user", user);
return view;
}
/* Json */
@PostMapping(MODEL + "/delete.json")
@Function("user.delete")
@ResponseBody
public JsonResult delete(String ids) {
List<Long> dels = ConvertUtil.str2longs(ids);
userConsoleService.batchDelSysUser(dels);
return JsonResult.success();
}
@PostMapping(MODEL + "/update.json")
@Function("user.update")
@ResponseBody
public JsonResult update(@Validated(ValidateConfig.UPDATE.class) CoreUser user) {
boolean success = userConsoleService.updateTemplate(user);
if (success) {
this.platformService.clearFunctionCache();
return JsonResult.success();
} else {
return JsonResult.failMessage("保存失败!");
}
}
@PostMapping(MODEL + "/add.json")
@Function("user.add")
@ResponseBody
public JsonResult<Long> add(@Validated(ValidateConfig.ADD.class) CoreUser user) {
if (!platformService.isAllowUserName(user.getCode())) {
return JsonResult.failMessage("不允许的注册名字 " + user.getCode());
}
user.setCreateTime(new Date());
userConsoleService.saveUser(user);
return JsonResult.success(user.getId());
}
@PostMapping(MODEL + "/view.json")
@ResponseBody
@Function("user.query")
public JsonResult<CoreUser> view(Long id) {
CoreUser user = userConsoleService.queryById(id);
return JsonResult.success(user);
}
@PostMapping(MODEL + "/list.json")
@Function("user.query")
@ResponseBody
public JsonResult<PageQuery<CoreUser>> index(UserQuery condtion) {
PageQuery<CoreUser> page = condtion.getPageQuery();
userConsoleService.queryByCondtion(page);
return JsonResult.success(page);
}
@PostMapping(MODEL + "/list/condition.json")
@Function("user.query")
@ResponseBody
public JsonResult<List<Map<String, Object>>> indexCondtion() {
List<Map<String, Object>> list = AnnotationUtil.getInstance().getAnnotations(Query.class, UserQuery.class);
return JsonResult.success(list);
}
@PostMapping(MODEL + "/disable.json")
@Function("user.disable")
@ResponseBody
public JsonResult disableUser(String ids) {
List<Long> dels = ConvertUtil.str2longs(ids);
userConsoleService.batchUpdateUserState(dels, GeneralStateEnum.DISABLE);
for (Long id : dels) {
CoreUser user = userConsoleService.queryById(id);
this.platformService.restUserSession(user.getCode());
}
return JsonResult.success();
}
/**
* 启用用户操作
*
* @return
*/
@PostMapping(MODEL + "/enable.json")
@Function("user.enable")
@ResponseBody
public JsonResult enableUser(String ids) {
List<Long> enables = ConvertUtil.str2longs(ids);
userConsoleService.batchUpdateUserState(enables, GeneralStateEnum.ENABLE);
return JsonResult.success();
}
/**
* 管理员重置用户密码
*
* @return
*/
@PostMapping(MODEL + "/changePassword.json")
@Function("user.reset")
@ResponseBody
public JsonResult changePassword(Long id, String password) {
userConsoleService.resetPassword(id, password);
return new JsonResult().success();
}
/**
* 用户所有授权角色列表
*
* @param id 用户id
* @return
*/
@PostMapping(MODEL + "/role/list.json")
@Function("user.role")
@ResponseBody
public JsonResult<List<CoreUserRole>> getRoleList(UserRoleQuery roleQuery) {
List<CoreUserRole> list = userConsoleService.getUserRoles(roleQuery);
return JsonResult.success(list);
}
/**
* 用户添加授权角色页
*
* @return
*/
@PostMapping(MODEL + "/role/add.json")
@Function("user.role")
@ResponseBody
public JsonResult saveUserRole(@Validated CoreUserRole userRole) {
userRole.setCreateTime(new Date());
this.userConsoleService.saveUserRole(userRole);
this.platformService.clearFunctionCache();
return JsonResult.success(userRole.getId());
}
/**
* 删除用户角色授权
*
* @return
*/
@PostMapping(MODEL + "/role/delete.json")
@Function("user.role")
@ResponseBody
public JsonResult delUserRole(String ids) {
List<Long> dels = ConvertUtil.str2longs(ids);
userConsoleService.deleteUserRoles(dels);
this.platformService.clearFunctionCache();
return JsonResult.success();
}
@PostMapping(MODEL + "/excel/export.json")
@Function("user.export")
@ResponseBody
public JsonResult<String> export(HttpServletResponse response, UserQuery condtion) {
String excelTemplate = "excelTemplates/admin/user/user_collection_template.xls";
PageQuery<CoreUser> page = condtion.getPageQuery();
//取出全部符合条件的
page.setPageSize(Integer.MAX_VALUE);
page.setPageNumber(1);
page.setTotalRow(Integer.MAX_VALUE);
List<UserExcelExportData> users = userConsoleService.queryExcel(page);
try (InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(excelTemplate)) {
if (is == null) {
throw new PlatformException("模板资源不存在:" + excelTemplate);
}
FileItem item = fileService.createFileTemp("user_collection.xls");
OutputStream os = item.openOutpuStream();
Context context = new Context();
context.putVar("users", users);
JxlsHelper.getInstance().processTemplate(is, os, context);
//下载参考FileSystemContorller
return JsonResult.success(item.getPath());
} catch (IOException e) {
throw new PlatformException(e.getMessage());
}
}
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment