Springboot專案CRM客戶關系管理系統:
系統實作了CRM客戶關系系統的基本功能,主要有看板(當月參與的業務機會、當月轉化情況、將要結束的業務機會等)、業務機會(初步接觸中、需求分析中、協商方案中、商業談判中的業務機會)、客戶管理、聯系人管理、個人日報管理、查看團隊日報、主資料管理(組織架構管理)、系統管理(用戶管理、角色管理、選單管理),







角色控制層:
/**
* @author yy
*/
@Controller
@RequestMapping("/role")
public class RoleController extends BaseController{
private String prefix = "system/role/";
@Autowired
IUserService iUserService;
@Autowired
IRoleService iRoleService;
@Autowired
IPermissionService iPermissionService;
/**
*
* @描述 頁面跳轉
*
* @date 2018/9/16 10:59
*/
@RequestMapping("/tolist")
@RequiresPermissions("role:list")
public String tolist()
{
return prefix + "role";
}
/**
*
* @描述 ajax請求所有
*
* @date 2018/9/16 10:48
*/
@RequestMapping("/ajaxlist")
@ResponseBody
public List<Role> list(Role role)
{
List<Role> roles = iRoleService.selectRoleList(role);
return roles;
}
/**
*
* @描述 串列
*
* @date 2018/9/16 10:52
*/
@RequestMapping("/tableList")
@ResponseBody
public TableDataInfo listPag(Role role)
{
//開啟分頁
startPage();
List<Role> roles = iRoleService.selectRoleList(role);
return getDataTable(roles);
}
/**
*
* @描述 新增頁面
*
* @date 2018/9/16 11:37
*/
@RequestMapping("/toAdd")
@RequiresPermissions("role:add")
public String toAdd(Model model)
{
return prefix + "add";
}
/**
*
* @描述 批量洗掉
*
* @date 2018/9/16 11:53
*/
@RequestMapping("/del")
@RequiresPermissions("role:del")
@Operlog(modal = "角色管理",descr = "洗掉角色")
@ResponseBody
public AjaxResult del(Integer[] ids)
{
try
{
iRoleService.deleteByPrimaryKeys(ids);
}
catch (Exception e)
{
return error(e.getMessage());
}
return success();
}
/**
*
* @描述 添加保存
*
* @date 2018/9/16 11:54
*/
@RequestMapping("/addSave")
@RequiresPermissions("role:update")
@Operlog(modal = "角色管理",descr = "添加角色")
@ResponseBody
public AjaxResult addRole(Role role, Integer[] ids)
{
role.setCreateTime(new Date());
int insert = 0;
try
{
if (StringUtils.isEmpty(ids))
{
ids = new Integer[0];
}
insert = iRoleService.insert(role, ids);
}
catch (Exception e)
{
return error(e.getMessage());
}
//清空快取
ShiroUtils.clearCachedAuthorizationInfo();
return result(insert);
}
/**
*
* @描述: 根據ID 獲取u他的所有權限 做回顯
*
* @params: roleId 角色Id
* @return:
* @date: 2018/9/27 14:04
*/
@RequestMapping("/selectById/{roleId}")
@ResponseBody
public Role selectById(@PathVariable("roleId") Integer roleId)
{
Role role = iRoleService.selectByPrimaryKey(roleId);
return role;
}
/**
*
* @描述 編輯修改頁面
*
* @date 2018/9/16 14:06
*/
@RequestMapping("/edit/{id}")
@RequiresPermissions("role:update")
public String edit(@PathVariable("id") Integer id, Model model)
{
Role role = iRoleService.selectByPrimaryKey(id);
model.addAttribute("Role", role);
return prefix + "edit";
}
/**
*
* @描述 編輯修改權限頁面
*
* @date 2018/9/16 14:06
*/
@RequestMapping("/editPower/{id}")
@RequiresPermissions("role:update")
public String editPower(@PathVariable("id") Integer id, Model model)
{
Role role = iRoleService.selectByPrimaryKey(id);
model.addAttribute("Role", role);
return prefix + "editPower";
}
/**
*
* @描述 修改角色資訊保存
*
* @date 2018/9/16 16:12
*/
@RequestMapping("/editSave")
@RequiresPermissions("role:update")
@Operlog(modal = "角色管理",descr = "修改角色資訊")
@ResponseBody
public AjaxResult save(Role role)
{
int i = 0;
try
{
i = iRoleService.updateByPrimaryKeySelective(role);
}
catch (Exception e)
{
return error(e.getMessage());
}
return result(i);
}
/**
*
* @描述 修改角色權限資訊保存
*
* @date 2018/9/16 16:12
*/
@RequestMapping("/editPowerSave")
@RequiresPermissions("role:update")
@Operlog(modal = "角色管理",descr = "修改角色權限")
@ResponseBody
public AjaxResult editPowerSave(Role role, Integer[] ids)
{
int i = 0;
try
{
if (StringUtils.isEmpty(ids))
{
ids = new Integer[0];
}
i = iRoleService.updateByPrimaryKeyPowerSelective(role, ids);
}
catch (Exception e)
{
return error(e.getMessage());
}
//清空快取
ShiroUtils.clearCachedAuthorizationInfo();
//如果用戶正在修改的角色id 是當前用戶的角色id 則重繪 subject的User資訊
if (role.getRoleId().equals(getRoleId()))
{
ShiroUtils.reloadUser(iUserService.selectByPrimaryKey(getUserId()));
}
return result(i);
}
/**
* 校驗名稱唯一
*/
@PostMapping("/checkRoleNameUnique")
@ResponseBody
public String checkDeptNameUnique(Role role)
{
String uniqueFlag = "0";
if (role != null)
{
uniqueFlag = iRoleService.checkRoleNameUnique(role);
}
return uniqueFlag;
}
}
登錄控制層:
@RequestMapping("/login")
public class LoginController extends BaseController{
private static final Logger logger = LoggerFactory.getLogger(LoginController.class);
private String prefix = "system/user/";
@Autowired
LoginService loginService;
@Autowired
IUserService userService;
/**
*
* @描述: 執行登錄操作
*
* @params: user:用戶登錄資訊;
* validateCode:驗證碼
* @return:
* @date: 2018/9/29 21:20
*/
@RequestMapping("/login")
@Operlog(descr = "用戶登錄", modal = "登錄模塊")
@ResponseBody
public AjaxResult Logining(User user, String validateCode, Boolean rememberMe, HttpServletRequest request)
{
HttpSession session = ServletUtils.getSession();
UsernamePasswordToken token = new UsernamePasswordToken(user.getName(), user.getPwd());
token.setRememberMe(rememberMe);
Subject subject = SecurityUtils.getSubject();
//驗證用戶名和密碼 驗證碼的問題
try
{
loginService.checkLogin(user.getName(), user.getPwd(), validateCode);
}
catch (Exception e)
{
session.setAttribute(Constants.LOGIN_ERROR, e.getMessage());
return error(e.getMessage());
}
try
{
if (!subject.isAuthenticated())
{
subject.login(token);
}
}
catch (IncorrectCredentialsException e)
{
session.setAttribute(Constants.LOGIN_ERROR,"密碼錯誤");
return error("密碼錯誤!");
}
catch (UnknownAccountException e)
{
session.setAttribute(Constants.LOGIN_ERROR,e.getMessage());
return error(e.getMessage());
}
catch (LockedAccountException e)
{
session.setAttribute("login",e.getMessage());
return error(e.getMessage());
}
catch (AuthenticationException e)
{
// String msg = "用戶名或密碼錯誤!";
// if (!StringUtils.isEmpty(e.getMessage()))
// {
// msg = e.getMessage();
// }
session.setAttribute(Constants.LOGIN_ERROR,e.getMessage());
return error("系統例外!");
}
return success();
}
/**
s sl
*
* @描述: 登錄頁面
*
* @params:
* @return:
* @date: 2018/9/29 21:20
*/
@RequestMapping("/toLogin")
public String toLogin()
{
return "login";
}
}
部門控制層:
/**
* @author yy
*/
@Controller
@RequestMapping("/dept")
public class DeptController extends BaseController{
private String prefix = "system/dept/";
@Autowired
IDeptService iDeptService;
@Autowired
IUserService iUserService;
/**
*
* @描述 頁面跳轉到部門
*
* @date 2018/9/16 10:59
*/
@RequestMapping("/tolist")
@RequiresPermissions("dept:list")
public String tolist()
{
return prefix + "dept";
}
/**
*
* @描述 ajax請求的所有部門
*
* @date 2018/9/16 10:48
*/
@RequestMapping("/ajaxlist")
@ResponseBody
public List<Dept> list(Dept dept)
{
List<Dept> depts = iDeptService.selectDeptList(dept);
return depts;
}
/**
*
* @描述 部門串列頁
*
* @date 2018/9/16 10:52
*/
@RequestMapping("/tableList")
@ResponseBody
public TableDataInfo listPag(Dept dept)
{
//開啟分頁
startPage();
List<Dept> depts = iDeptService.selectDeptList(dept);
return getDataTable(depts);
}
/**
*
* @描述 新增頁面
*
* @date 2018/9/16 11:37
*/
@RequiresPermissions("dept:add")
@RequestMapping("/toAdd")
public String toAdd(Model model)
{
List<User> users = iUserService.selectByUser(new User());
model.addAttribute("users", users);
return prefix + "add";
}
/**
*
* @描述: 查詢所有部門下的所有用戶 用戶歸類 樹狀資料
*
* @date: 2018/9/27 11:25
*/
@RequestMapping("/getDeptAndUserTreeData")
@ResponseBody
public List<Object> DeptAndUserTreeData()
{
List<Dept> depts = iDeptService.selectDeptAndUser();
List<User> users=new ArrayList<>();
LinkedList<Object> deptList = new LinkedList<>();
for (Dept dept : depts)
{
Map<String, Object> deptMap = new HashMap();
deptMap.put("name", dept.getDeptName());
deptMap.put("id", null);
users = dept.getUsers();
LinkedList<Object> userlist = new LinkedList<>();
for (User user : users)
{
Map<String, Object> userMap = new HashMap();
userMap.put("name",user.getName());
userMap.put("id",user.getUid());
userMap.put("icon","/img/timg.jpg");
userlist.add(userMap);
}
deptMap.put("children",userlist);
deptList.add(deptMap);
}
return deptList;
}
/**
*
* @描述 批量洗掉
*
* @date 2018/9/16 11:53
*/
@RequestMapping("/del")
@RequiresPermissions("dept:del")
@ResponseBody
@Operlog(modal = "部門管理",descr = "洗掉部門")
public AjaxResult del(String[] ids)
{
try
{
iDeptService.deleteByPrimaryKeys(ids);
}
catch (Exception e)
{
return error(e.getMessage());
}
return success();
}
/**
*
* @描述 執行保存操作
*
* @date 2018/9/16 11:54
*/
@RequestMapping("/addSave")
@Operlog(modal = "部門管理",descr = "添加部門")
@RequiresPermissions("dept:add")
@ResponseBody
public AjaxResult addDept(Dept dept)
{
dept.setCreateTime(new Date());
return result(iDeptService.insertSelective(dept));
}
/**
*
* @描述 編輯修改頁面
*
* @date 2018/9/16 14:06
*/
@RequestMapping("/edit/{id}")
@RequiresPermissions("dept:update")
public String edit(@PathVariable("id") String id, Model model)
{
Dept dept = iDeptService.selectByPrimaryKey(id);
List<User> users = iUserService.selectByUser(new User());
model.addAttribute("users", users);
model.addAttribute("Dept", dept);
return prefix + "edit";
}
/**
*
* @描述 修改保存
*
* @date 2018/9/16 16:12
*/
@RequestMapping("/editSave")
@RequiresPermissions("dept:update")
@Operlog(modal = "部門管理",descr = "修改資訊")
@ResponseBody
public AjaxResult save(Dept dept)
{
int i = 0;
try
{
i = iDeptService.updateByPrimaryKeySelective(dept);
}
catch (Exception e)
{
return error(e.getMessage());
}
return result(i);
}
/**
* 校驗部門名稱
*/
@PostMapping("/checkDeptNameUnique")
@ResponseBody
public String checkDeptNameUnique(Dept dept)
{
String uniqueFlag = "0";
if (dept != null)
{
uniqueFlag = iDeptService.checkDeptNameUnique(dept);
}
return uniqueFlag;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/379468.html
標籤:java
上一篇:【Linux 學習筆記】Linux 搭建 JavaEE 環境(包括 JDK、IDEA、MySQL、tomcat)
