From 578e49d67183d8d12a6af7e8244a9d152cb366d4 Mon Sep 17 00:00:00 2001
From: ZhuDongming <773644075@qq.com>
Date: Wed, 09 Oct 2019 14:02:21 +0800
Subject: [PATCH] 大屏后台管理代码update
---
src/main/resources/mapper/RoleMenuMapper.xml | 80 ++
src/main/java/com/moral/mapper/MenuMapper.java | 23
src/main/java/com/moral/service/MenuService.java | 24
src/main/resources/mapper/AccountMapper.xml | 10
src/main/java/com/moral/mapper/RoleMenuMapper.java | 18
src/main/java/com/moral/service/impl/DeviceServiceImpl.java | 1060 +++++++++++++-------------
src/main/java/com/moral/mapper/AccountMapper.java | 8
src/main/java/com/moral/security/endpoint/RefreshTokenEndpoint.java | 2
src/main/java/com/moral/entity/Menu.java | 38
src/main/java/com/moral/mapper/AccountRoleMapper.java | 18
src/main/java/com/moral/service/impl/AccountRoleServiceImpl.java | 76 +
src/main/java/com/moral/controller/AccountRoleController.java | 69 +
src/main/java/com/moral/controller/RoleMenuController.java | 70 +
src/main/java/com/moral/mapper/RoleMapper.java | 17
src/main/java/com/moral/util/TkMybatisUtils.java | 25
src/main/java/com/moral/service/RoleMenuService.java | 15
src/main/java/com/moral/controller/MenuController.java | 64 +
src/main/java/com/moral/service/AccountService.java | 2
src/main/java/com/moral/controller/RoleController.java | 49 +
src/main/java/com/moral/service/impl/AccountServiceImpl.java | 6
src/main/java/com/moral/service/impl/RoleServiceImpl.java | 86 ++
src/main/resources/mapper/RoleMapper.xml | 115 ++
src/main/java/com/moral/service/impl/RoleMenuServiceImpl.java | 76 +
src/main/java/com/moral/service/AccountRoleService.java | 15
src/main/java/com/moral/entity/AccountRole.java | 21
src/main/java/com/moral/entity/Account.java | 2
src/main/java/com/moral/service/RoleService.java | 19
src/main/java/com/moral/security/auth/login/LoginAuthenticationProvider.java | 2
src/main/java/com/moral/entity/RoleMenu.java | 21
src/main/java/com/moral/entity/Role.java | 24
src/main/resources/mapper/MenuMapper.xml | 108 ++
src/main/java/com/moral/service/impl/MenuServiceImpl.java | 139 +++
src/main/resources/mapper/AccountRoleMapper.xml | 80 ++
33 files changed, 1,853 insertions(+), 529 deletions(-)
diff --git a/src/main/java/com/moral/controller/AccountRoleController.java b/src/main/java/com/moral/controller/AccountRoleController.java
new file mode 100644
index 0000000..c4423a6
--- /dev/null
+++ b/src/main/java/com/moral/controller/AccountRoleController.java
@@ -0,0 +1,69 @@
+package com.moral.controller;
+
+import javax.annotation.Resource;
+
+import org.springframework.web.bind.annotation.CrossOrigin;
+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.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.moral.common.bean.PageBean;
+import com.moral.common.bean.ResultBean;
+import com.moral.entity.AccountRole;
+import com.moral.service.AccountRoleService;
+import com.moral.service.AccountService;
+import com.moral.service.RoleService;
+
+@RestController
+@RequestMapping("account-role")
+@CrossOrigin(origins = "*", maxAge = 3600)
+public class AccountRoleController {
+ @Resource
+ AccountService accountService;
+
+ @Resource
+ RoleService roleService;
+
+ @Resource
+ AccountRoleService accountRoleService;
+
+ @GetMapping("account-list")
+ public ResultBean getAccountList(String accountName) {
+ ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
+ resultBean.setData(accountService.getAccountList(accountName));
+ return resultBean;
+ }
+
+ @GetMapping("role-list")
+ public ResultBean getRoleList(String roleName) {
+ ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
+ resultBean.setData(roleService.getRoleList(roleName));
+ return resultBean;
+ }
+
+ @PostMapping("add-or-modify")
+ public ResultBean saveOrUpdate(@RequestBody AccountRole accountRole) {
+ accountRoleService.addOrModify(accountRole);
+ ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
+ return resultBean;
+ }
+
+ @GetMapping("count-by-example")
+ public ResultBean<Integer> countByExample(PageBean pageBean) {
+ return new ResultBean<Integer>(accountRoleService.countByExample(pageBean));
+ }
+
+ @GetMapping("accountRole-list")
+ public PageBean getAccountRoleList(PageBean pageBean) {
+ return accountRoleService.getAccountRoleList(pageBean);
+ }
+
+ @PostMapping("delete-by-ids")
+ public ResultBean deleteByIds(@RequestBody Integer [] ids){
+ accountRoleService.deleteByIds(ids);
+ ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
+ return resultBean;
+ }
+}
diff --git a/src/main/java/com/moral/controller/MenuController.java b/src/main/java/com/moral/controller/MenuController.java
new file mode 100644
index 0000000..99233e2
--- /dev/null
+++ b/src/main/java/com/moral/controller/MenuController.java
@@ -0,0 +1,64 @@
+package com.moral.controller;
+
+import javax.annotation.Resource;
+
+import org.springframework.web.bind.annotation.CrossOrigin;
+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.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.moral.common.bean.PageBean;
+import com.moral.common.bean.ResultBean;
+import com.moral.entity.Menu;
+import com.moral.service.MenuService;
+
+@RestController
+@RequestMapping("menu")
+@CrossOrigin(origins = "*", maxAge = 3600)
+public class MenuController {
+ @Resource
+ MenuService menuService;
+
+ @GetMapping("count-by-example")
+ public ResultBean<Integer> countByExample(PageBean pageBean) {
+ return new ResultBean<Integer>(menuService.countByExample(pageBean));
+ }
+
+ @PostMapping("add-or-modify")
+ public ResultBean saveOrUpdate(@RequestBody Menu menu) {
+ menuService.addOrModify(menu);
+ ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
+ return resultBean;
+ }
+
+ @GetMapping("page-list")
+ public PageBean pageList(PageBean pageBean) {
+ return menuService.queryByPageBean(pageBean);
+ }
+
+ @GetMapping("page-allList")
+ public PageBean pageAllList(PageBean pageBean) {
+ return menuService.queryByAllPageBean(pageBean);
+ }
+
+ @GetMapping("menu-list")
+ public PageBean getMenuList(PageBean pageBean) {
+ return menuService.getMenuList(pageBean);
+ }
+
+ @GetMapping("menuParent-list")
+ public ResultBean getMenuParentList(String menuName) {
+ ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
+ resultBean.setData(menuService.getMenuParentList(menuName));
+ return resultBean;
+ }
+
+ @PostMapping("delete-by-ids")
+ public ResultBean deleteByIds(@RequestBody Integer [] ids){
+ menuService.deleteByIds(ids);
+ ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
+ return resultBean;
+ }
+}
diff --git a/src/main/java/com/moral/controller/RoleController.java b/src/main/java/com/moral/controller/RoleController.java
new file mode 100644
index 0000000..58083d4
--- /dev/null
+++ b/src/main/java/com/moral/controller/RoleController.java
@@ -0,0 +1,49 @@
+package com.moral.controller;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+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.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.moral.common.bean.PageBean;
+import com.moral.common.bean.ResultBean;
+import com.moral.entity.Role;
+import com.moral.service.RoleService;
+
+@RestController
+@RequestMapping("role")
+@CrossOrigin(origins = "*", maxAge = 3600)
+public class RoleController {
+
+ @Autowired
+ RoleService roleService;
+
+ @GetMapping("count-by-example")
+ public ResultBean<Integer> countByExample(PageBean pageBean){
+ return new ResultBean<Integer>(roleService.countByExample(pageBean));
+ }
+
+ @GetMapping("page-list")
+ public PageBean pageList(PageBean pageBean) {
+ return roleService.queryByPageBean(pageBean);
+ }
+
+ @PostMapping("add-or-modify")
+ public ResultBean addOrModify(@RequestBody Role role) {
+ roleService.addOrModify(role);
+ ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
+ return resultBean;
+ }
+
+ @PostMapping("delete-by-ids")
+ public ResultBean deleteByIds(@RequestBody List<Integer> ids){
+ roleService.deleteByIds(ids);
+ ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
+ return resultBean;
+ }
+}
diff --git a/src/main/java/com/moral/controller/RoleMenuController.java b/src/main/java/com/moral/controller/RoleMenuController.java
new file mode 100644
index 0000000..217b47f
--- /dev/null
+++ b/src/main/java/com/moral/controller/RoleMenuController.java
@@ -0,0 +1,70 @@
+package com.moral.controller;
+
+import javax.annotation.Resource;
+
+import org.springframework.web.bind.annotation.CrossOrigin;
+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.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.moral.common.bean.PageBean;
+import com.moral.common.bean.ResultBean;
+import com.moral.entity.RoleMenu;
+import com.moral.service.MenuService;
+import com.moral.service.RoleMenuService;
+import com.moral.service.RoleService;
+
+@RestController
+@RequestMapping("role-menu")
+@CrossOrigin(origins = "*", maxAge = 3600)
+public class RoleMenuController {
+
+ @Resource
+ RoleService roleService;
+
+ @Resource
+ MenuService menuService;
+
+ @Resource
+ RoleMenuService roleMenuService;
+
+ @GetMapping("role-list")
+ public ResultBean getRoleList(String roleName) {
+ ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
+ resultBean.setData(roleService.getRoleList(roleName));
+ return resultBean;
+ }
+
+ @GetMapping("menu-list")
+ public ResultBean getMenuList(String menuName) {
+ ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
+ resultBean.setData(menuService.getMenuListByName(menuName));
+ return resultBean;
+ }
+
+ @PostMapping("add-or-modify")
+ public ResultBean saveOrUpdate(@RequestBody RoleMenu roleMenu) {
+ roleMenuService.addOrModify(roleMenu);
+ ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
+ return resultBean;
+ }
+
+ @GetMapping("count-by-example")
+ public ResultBean<Integer> countByExample(PageBean pageBean) {
+ return new ResultBean<Integer>(roleMenuService.countByExample(pageBean));
+ }
+
+ @GetMapping("roleMenu-list")
+ public PageBean getRoleMenuList(PageBean pageBean) {
+ return roleMenuService.getRoleMenuList(pageBean);
+ }
+
+ @PostMapping("delete-by-ids")
+ public ResultBean deleteByIds(@RequestBody Integer [] ids){
+ roleMenuService.deleteByIds(ids);
+ ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
+ return resultBean;
+ }
+}
diff --git a/src/main/java/com/moral/entity/Account.java b/src/main/java/com/moral/entity/Account.java
index 86f78d2..18e66a6 100644
--- a/src/main/java/com/moral/entity/Account.java
+++ b/src/main/java/com/moral/entity/Account.java
@@ -80,7 +80,7 @@
// TODO ������������
public List<Role> getRoles(){
Role role = new Role();
- role.setName("temp");
+ role.setRoleName("temp");
return Arrays.asList(role);
}
@Transient
diff --git a/src/main/java/com/moral/entity/AccountRole.java b/src/main/java/com/moral/entity/AccountRole.java
new file mode 100644
index 0000000..a442a21
--- /dev/null
+++ b/src/main/java/com/moral/entity/AccountRole.java
@@ -0,0 +1,21 @@
+package com.moral.entity;
+
+import javax.persistence.Transient;
+
+import lombok.Data;
+
+@Data
+public class AccountRole {
+
+ private Integer id;
+
+ private Integer accountId;
+
+ private Integer roleId;
+
+ @Transient
+ private Account account;
+
+ @Transient
+ private Role role;
+}
diff --git a/src/main/java/com/moral/entity/Menu.java b/src/main/java/com/moral/entity/Menu.java
new file mode 100644
index 0000000..4d5ab07
--- /dev/null
+++ b/src/main/java/com/moral/entity/Menu.java
@@ -0,0 +1,38 @@
+package com.moral.entity;
+
+import java.util.Date;
+
+import javax.persistence.Id;
+
+import lombok.Data;
+
+@Data
+public class Menu {
+ @Id
+ private Integer id;
+
+ private String menuCode;
+
+ private String menuName;
+
+ private String menuIcon;
+
+ private String menuUrl;
+
+ private Integer menuOrder;
+
+ private Integer menuParentId;
+
+ private String menuRemark;
+
+ private String isDelete;
+
+ private Date createTime;
+
+ private String createUser;
+
+ private Date updateTime;
+
+ private String updateUser;
+
+}
diff --git a/src/main/java/com/moral/entity/Role.java b/src/main/java/com/moral/entity/Role.java
index 4ec205b..7ba2ef6 100644
--- a/src/main/java/com/moral/entity/Role.java
+++ b/src/main/java/com/moral/entity/Role.java
@@ -1,8 +1,30 @@
package com.moral.entity;
+import java.util.Date;
+
+import javax.persistence.Id;
+
import lombok.Data;
@Data
public class Role {
- private String name;
+ @Id
+ private Integer id;
+
+ private String roleCode;
+
+ private String roleName;
+
+ private String isDelete;
+
+ private String roleRemark;
+
+ private Date createTime;
+
+ private String createUser;
+
+ private Date updateTime;
+
+ private String updateUser;
+
}
diff --git a/src/main/java/com/moral/entity/RoleMenu.java b/src/main/java/com/moral/entity/RoleMenu.java
new file mode 100644
index 0000000..c489608
--- /dev/null
+++ b/src/main/java/com/moral/entity/RoleMenu.java
@@ -0,0 +1,21 @@
+package com.moral.entity;
+
+import javax.persistence.Transient;
+
+import lombok.Data;
+
+@Data
+public class RoleMenu {
+
+ private Integer id;
+
+ private Integer roleId;
+
+ private Integer menuId;
+
+ @Transient
+ private Role role;
+
+ @Transient
+ private Menu menu;
+}
diff --git a/src/main/java/com/moral/mapper/AccountMapper.java b/src/main/java/com/moral/mapper/AccountMapper.java
index 4bb4c92..9a85a32 100644
--- a/src/main/java/com/moral/mapper/AccountMapper.java
+++ b/src/main/java/com/moral/mapper/AccountMapper.java
@@ -3,11 +3,19 @@
import java.util.List;
import java.util.Map;
+import org.apache.ibatis.annotations.Param;
+
import com.moral.common.mapper.BaseMapper;
import com.moral.entity.Account;
public interface AccountMapper extends BaseMapper<Account> {
+
List<Map<String, Object>> getRoleNameByAccountId(Integer accountId);
+
Account getByAccountName(String name);
+
Map<String, Object> getOrganizationIdByAccountId(Integer accountId);
+
+ List<Account> getAccountList(@Param("accountName") String accountName);
+
}
\ No newline at end of file
diff --git a/src/main/java/com/moral/mapper/AccountRoleMapper.java b/src/main/java/com/moral/mapper/AccountRoleMapper.java
new file mode 100644
index 0000000..550945b
--- /dev/null
+++ b/src/main/java/com/moral/mapper/AccountRoleMapper.java
@@ -0,0 +1,18 @@
+package com.moral.mapper;
+
+import java.util.List;
+
+import com.moral.common.mapper.BaseMapper;
+import com.moral.entity.AccountRole;
+
+import tk.mybatis.mapper.entity.Example;
+
+
+public interface AccountRoleMapper extends BaseMapper<AccountRole> {
+
+ List<AccountRole> getAccountRoleList(Example example);
+
+ int updateByPrimaryKey(AccountRole accountRole);
+
+ int deleteByPrimaryKeyOwn(Integer id);
+}
diff --git a/src/main/java/com/moral/mapper/MenuMapper.java b/src/main/java/com/moral/mapper/MenuMapper.java
new file mode 100644
index 0000000..ab2ddfa
--- /dev/null
+++ b/src/main/java/com/moral/mapper/MenuMapper.java
@@ -0,0 +1,23 @@
+package com.moral.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+
+import com.moral.common.mapper.BaseMapper;
+import com.moral.entity.Menu;
+
+import tk.mybatis.mapper.entity.Example;
+
+
+public interface MenuMapper extends BaseMapper<Menu> {
+
+ List<Menu> selectWithMenuNameByExample(Example example);
+
+ List<Menu> getMenuList(Example example);
+
+ List<Menu> getParentMenuList(@Param("menuName") String menuName);
+
+ List<Menu> getMenuListByName(@Param("menuName") String menuName);
+
+}
diff --git a/src/main/java/com/moral/mapper/RoleMapper.java b/src/main/java/com/moral/mapper/RoleMapper.java
new file mode 100644
index 0000000..cc4b732
--- /dev/null
+++ b/src/main/java/com/moral/mapper/RoleMapper.java
@@ -0,0 +1,17 @@
+package com.moral.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+
+import com.moral.common.mapper.BaseMapper;
+import com.moral.entity.Role;
+
+public interface RoleMapper extends BaseMapper<Role> {
+
+ int insertSelective(Role role);
+
+ int updateByPrimaryKeySelective(Role role);
+
+ List<Role> getRoleList(@Param("roleName") String roleName);
+}
diff --git a/src/main/java/com/moral/mapper/RoleMenuMapper.java b/src/main/java/com/moral/mapper/RoleMenuMapper.java
new file mode 100644
index 0000000..1d6834f
--- /dev/null
+++ b/src/main/java/com/moral/mapper/RoleMenuMapper.java
@@ -0,0 +1,18 @@
+package com.moral.mapper;
+
+import java.util.List;
+
+import com.moral.common.mapper.BaseMapper;
+import com.moral.entity.RoleMenu;
+
+import tk.mybatis.mapper.entity.Example;
+
+public interface RoleMenuMapper extends BaseMapper<RoleMenu> {
+
+ List<RoleMenu> getRoleMenuList(Example example);
+
+ int deleteByPrimaryKeyOwn(Integer id);
+
+ int updateByPrimaryKey(RoleMenu roleMenu);
+
+}
diff --git a/src/main/java/com/moral/security/auth/login/LoginAuthenticationProvider.java b/src/main/java/com/moral/security/auth/login/LoginAuthenticationProvider.java
index 12ba56f..4047ded 100644
--- a/src/main/java/com/moral/security/auth/login/LoginAuthenticationProvider.java
+++ b/src/main/java/com/moral/security/auth/login/LoginAuthenticationProvider.java
@@ -70,7 +70,7 @@
throw new InsufficientAuthenticationException("User has no roles assigned");
}
List<GrantedAuthority> authorities = account.getRoles().stream()
- .map(authority -> new SimpleGrantedAuthority(authority.getName()))
+ .map(authority -> new SimpleGrantedAuthority(authority.getRoleName()))
.collect(Collectors.toList());
UserContext userContext = UserContext.create(account.getAccountName(),mode,account.getOrganizationId(),authorities);
diff --git a/src/main/java/com/moral/security/endpoint/RefreshTokenEndpoint.java b/src/main/java/com/moral/security/endpoint/RefreshTokenEndpoint.java
index 2ad722d..1cf15d2 100644
--- a/src/main/java/com/moral/security/endpoint/RefreshTokenEndpoint.java
+++ b/src/main/java/com/moral/security/endpoint/RefreshTokenEndpoint.java
@@ -72,7 +72,7 @@
if (account.getRoles() == null) throw new InsufficientAuthenticationException("User has no roles assigned");
List<GrantedAuthority> authorities = account.getRoles().stream()
- .map(authority -> new SimpleGrantedAuthority(authority.getName()))
+ .map(authority -> new SimpleGrantedAuthority(authority.getRoleName()))
.collect(Collectors.toList());
UserContext userContext = UserContext.create(account.getAccountName(),mode,account.getOrganizationId(),authorities);
diff --git a/src/main/java/com/moral/service/AccountRoleService.java b/src/main/java/com/moral/service/AccountRoleService.java
new file mode 100644
index 0000000..9fd8272
--- /dev/null
+++ b/src/main/java/com/moral/service/AccountRoleService.java
@@ -0,0 +1,15 @@
+package com.moral.service;
+
+import com.moral.common.bean.PageBean;
+import com.moral.entity.AccountRole;
+
+public interface AccountRoleService {
+
+ void addOrModify(AccountRole accountRole);
+
+ int countByExample(PageBean pageBean);
+
+ PageBean getAccountRoleList(PageBean pageBean);
+
+ void deleteByIds(Integer... ids);
+}
diff --git a/src/main/java/com/moral/service/AccountService.java b/src/main/java/com/moral/service/AccountService.java
index e93747f..dcc1fe2 100644
--- a/src/main/java/com/moral/service/AccountService.java
+++ b/src/main/java/com/moral/service/AccountService.java
@@ -30,4 +30,6 @@
Account companyLogin(Map<String, Object> parameters);
Map<String, Object> getOrganizationIdByAccountId(String id);
+
+ List<Account> getAccountList(String accountName);
}
diff --git a/src/main/java/com/moral/service/MenuService.java b/src/main/java/com/moral/service/MenuService.java
new file mode 100644
index 0000000..bb01354
--- /dev/null
+++ b/src/main/java/com/moral/service/MenuService.java
@@ -0,0 +1,24 @@
+package com.moral.service;
+
+import java.util.List;
+
+import com.moral.common.bean.PageBean;
+import com.moral.entity.Menu;
+
+public interface MenuService {
+ void addOrModify(Menu menu);
+
+ PageBean queryByPageBean(PageBean pageBean);
+
+ PageBean queryByAllPageBean(PageBean pageBean);
+
+ int countByExample(PageBean pageBean);
+
+ PageBean getMenuList(PageBean pageBean);
+
+ List<Menu> getMenuParentList(String menuName);
+
+ void deleteByIds(Integer[] ids);
+
+ List<Menu> getMenuListByName(String menuName);
+}
diff --git a/src/main/java/com/moral/service/RoleMenuService.java b/src/main/java/com/moral/service/RoleMenuService.java
new file mode 100644
index 0000000..8bde76a
--- /dev/null
+++ b/src/main/java/com/moral/service/RoleMenuService.java
@@ -0,0 +1,15 @@
+package com.moral.service;
+
+import com.moral.common.bean.PageBean;
+import com.moral.entity.RoleMenu;
+
+public interface RoleMenuService {
+
+ void addOrModify(RoleMenu roleMenu);
+
+ int countByExample(PageBean pageBean);
+
+ PageBean getRoleMenuList(PageBean pageBean);
+
+ void deleteByIds(Integer... ids);
+}
diff --git a/src/main/java/com/moral/service/RoleService.java b/src/main/java/com/moral/service/RoleService.java
new file mode 100644
index 0000000..6cfc19a
--- /dev/null
+++ b/src/main/java/com/moral/service/RoleService.java
@@ -0,0 +1,19 @@
+package com.moral.service;
+
+import java.util.List;
+
+import com.moral.common.bean.PageBean;
+import com.moral.entity.Role;
+
+public interface RoleService {
+
+ PageBean<Role> queryByPageBean(PageBean pageBean);
+
+ void addOrModify(Role role);
+
+ int deleteByIds(List<Integer> ids);
+
+ int countByExample(PageBean pageBean);
+
+ List<Role> getRoleList(String roleName);
+}
diff --git a/src/main/java/com/moral/service/impl/AccountRoleServiceImpl.java b/src/main/java/com/moral/service/impl/AccountRoleServiceImpl.java
new file mode 100644
index 0000000..d7a9874
--- /dev/null
+++ b/src/main/java/com/moral/service/impl/AccountRoleServiceImpl.java
@@ -0,0 +1,76 @@
+package com.moral.service.impl;
+
+import java.util.Arrays;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+
+import com.github.pagehelper.PageHelper;
+import com.moral.common.bean.PageBean;
+import com.moral.common.util.ExampleUtil;
+import com.moral.entity.AccountRole;
+import com.moral.mapper.AccountRoleMapper;
+import com.moral.service.AccountRoleService;
+
+import tk.mybatis.mapper.entity.Example;
+
+@Service
+public class AccountRoleServiceImpl implements AccountRoleService {
+
+ private static Class ENTITY_CLASS = AccountRole.class;
+
+ @Resource
+ private AccountRoleMapper accountRoleMapper;
+
+ @Override
+ public void addOrModify(AccountRole accountRole) {
+ try {
+ if (accountRole.getId() != null) {
+ accountRoleMapper.updateByPrimaryKey(accountRole);
+ } else {
+ AccountRole accountRoleQuery = new AccountRole();
+ accountRoleQuery.setAccountId(accountRole.getAccountId());
+ accountRoleQuery.setRoleId(accountRole.getRoleId());
+ AccountRole accountRoleResult = accountRoleMapper.selectOne(accountRoleQuery);
+ if (accountRoleResult == null) {
+ accountRoleMapper.insertSelective(accountRole);
+ }
+ }
+ } catch (Exception ex) {
+ throw ex;
+ }
+ }
+
+ @Override
+ public int countByExample(PageBean pageBean) {
+ Example example = ExampleUtil.generateExample(ENTITY_CLASS, pageBean);
+ return accountRoleMapper.selectCountByExample(example);
+ }
+
+ @Override
+ public PageBean getAccountRoleList(PageBean pageBean) {
+ Example example = ExampleUtil.generateExample(ENTITY_CLASS, pageBean);
+ if (pageBean.getPageSize() > 0) {
+ PageHelper.startPage(pageBean.getPageIndex(), pageBean.getPageSize());
+ }
+ List<AccountRole> accountRoleList = accountRoleMapper.getAccountRoleList(example);
+ return new PageBean(accountRoleList);
+ }
+
+ @Override
+ public void deleteByIds(Integer... ids) {
+ if (ids != null && ids.length > 0) {
+ if (ids.length == 1) {
+ accountRoleMapper.deleteByPrimaryKeyOwn(ids[0]);
+ } else {
+ Example example = new Example(ENTITY_CLASS);
+ example.or().andIn("id", Arrays.asList(ids));
+ accountRoleMapper.deleteByExample(example);
+ }
+
+ }
+ }
+
+}
diff --git a/src/main/java/com/moral/service/impl/AccountServiceImpl.java b/src/main/java/com/moral/service/impl/AccountServiceImpl.java
index a3c53db..261adc9 100644
--- a/src/main/java/com/moral/service/impl/AccountServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/AccountServiceImpl.java
@@ -206,4 +206,10 @@
Map<String, Object> map = accountMapper.getOrganizationIdByAccountId(accountId);
return map;
}
+
+ @Override
+ public List<Account> getAccountList(String accountName) {
+ List<Account> accountList = accountMapper.getAccountList(accountName);
+ return accountList;
+ }
}
diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
index c273e14..773ce10 100644
--- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
@@ -20,6 +20,8 @@
import com.moral.mapper.OrganizationMapper;
import com.moral.service.AccountService;
import com.moral.service.DeviceService;
+import com.moral.util.TkMybatisUtils;
+
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils;
@@ -27,10 +29,12 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
+
import tk.mybatis.mapper.entity.Example;
import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
+
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
@@ -41,137 +45,142 @@
@Service
public class DeviceServiceImpl implements DeviceService {
- private static Logger log = Logger.getLogger(DeviceServiceImpl.class);
- //-----------------------redis key������-������---------------------------------
- private static String AlARM = "alarm";//������������������key������
- private static String ADJUST="adjust";//���������������key������
- private static String DEVICE = "device";//������������������key������
- private static String STATE = "state";//������������������key������
- private static String DATA = "data";//������������������key������
- //-----------------------redis key������-������---------------------------------
- private String keysConnect(String... keys) {
- StringBuilder key = new StringBuilder(keys[0]);
- for(int i=1;i<keys.length;i++) {
- key.append("_");
- key.append(keys[i]);
- }
- return key.toString().toLowerCase();
- }
- @Resource
- private DeviceMapper deviceMapper;
+ private static Logger log = Logger.getLogger(DeviceServiceImpl.class);
+ //-----------------------redis key������-������---------------------------------
+ private static String AlARM = "alarm";//������������������key������
+ private static String ADJUST = "adjust";//���������������key������
+ private static String DEVICE = "device";//������������������key������
+ private static String STATE = "state";//������������������key������
+ private static String DATA = "data";//������������������key������
+
+ //-----------------------redis key������-������---------------------------------
+ private String keysConnect(String... keys) {
+ StringBuilder key = new StringBuilder(keys[0]);
+ for (int i = 1; i < keys.length; i++) {
+ key.append("_");
+ key.append(keys[i]);
+ }
+ return key.toString().toLowerCase();
+ }
+
+ @Resource
+ private DeviceMapper deviceMapper;
@Resource
private MonitorPointMapper monitorPointMapper;
- @Resource
- private AccountService accountService;
+ @Resource
+ private AccountService accountService;
private Class ENTITY_CLASS = Device.class;
@Resource
- OrganizationMapper orgMapper;
+ OrganizationMapper orgMapper;
@Resource
- DeviceVersionMapper deviceVersionMapper;
- @Resource
- RedisUtils redisUtils;
- @Resource
- OrganizationMapper organizationMapper;
- @Resource
- DictionaryDataMapper dictionaryDataMapper;
- @Override
- public Map<String, Object> getDeviceStatesByAccount(Map<String, Object> parameters) {
- ValidateUtil.notNull(parameters.get("accountId"), "param.is.null");
- Map<String, Object> result = new HashMap<String, Object>();
- accountService.setOrgIdsByAccount(parameters);
- List<Map<String, Object>> list = deviceMapper.getDeviceStatesByAccount(parameters);
- Long all = 0L, normal = 0L, abnormal = 0L, stop = 0L;
- for (Map<String, Object> map : list) {
- Long count = (Long) map.get("count");
- all += count;
- switch (Integer.valueOf((String) map.get("state"))) {
- case 0:
- normal = count;
- break;
- case 4:
- stop = count;
- break;
- default:
- abnormal += count;
- }
- }
- result.put("all", all);
- result.put("normal", normal);
- result.put("abnormal", abnormal);
- result.put("stop", stop);
- return result;
- }
-
- @Override
- @Transactional
- public void saveOrUpdateDevice(Device device) {
- ValidateUtil.notNull(device, "param.is.null");
- ValidateUtil.notEmpty(device.getMac(), "param.is.null");
- Device queryDevice = new Device();
- queryDevice.setMac(device.getMac());
- queryDevice = deviceMapper.selectOne(queryDevice);
- Date operateDate = new Date();
- device.setInstallTime(operateDate);
- if (ObjectUtils.isEmpty(queryDevice)) {
- device.setCreateTime(operateDate);
- device.setState("4");
- device.setIsDelete(Constants.IS_DELETE_FALSE);
- deviceMapper.insertSelective(device);
- }else {
- device.setId(queryDevice.getId());
- deviceMapper.updateByPrimaryKeySelective(device);
- }
- //������redis������������
- refreshDeviceInRedis(device.getMac());
- }
+ DeviceVersionMapper deviceVersionMapper;
+ @Resource
+ RedisUtils redisUtils;
+ @Resource
+ OrganizationMapper organizationMapper;
+ @Resource
+ DictionaryDataMapper dictionaryDataMapper;
- @Override
- public List<Device> getInstallDevicesByOperateUser(Integer uid, Integer pageIndex, Integer pageSize) {
- ValidateUtil.notNull(uid, "param.is.null");
- Device device = new Device();
- device.setOperateUserId(uid);
- PageHelper.startPage(pageIndex, pageSize,false);
- List<Device> devices = deviceMapper.select(device);
- return devices;
- }
-
- /**
- *
- * @param mac
- * @param fromCache
- * @return ������������������
- */
@Override
- public Device getDeviceByMac (String mac ,boolean fromCache){
- if(fromCache){
+ public Map<String, Object> getDeviceStatesByAccount(Map<String, Object> parameters) {
+ ValidateUtil.notNull(parameters.get("accountId"), "param.is.null");
+ Map<String, Object> result = new HashMap<String, Object>();
+ accountService.setOrgIdsByAccount(parameters);
+ List<Map<String, Object>> list = deviceMapper.getDeviceStatesByAccount(parameters);
+ Long all = 0L, normal = 0L, abnormal = 0L, stop = 0L;
+ for (Map<String, Object> map : list) {
+ Long count = (Long) map.get("count");
+ all += count;
+ switch (Integer.valueOf((String) map.get("state"))) {
+ case 0:
+ normal = count;
+ break;
+ case 4:
+ stop = count;
+ break;
+ default:
+ abnormal += count;
+ }
+ }
+ result.put("all", all);
+ result.put("normal", normal);
+ result.put("abnormal", abnormal);
+ result.put("stop", stop);
+ return result;
+ }
+
+ @Override
+ @Transactional
+ public void saveOrUpdateDevice(Device device) {
+ ValidateUtil.notNull(device, "param.is.null");
+ ValidateUtil.notEmpty(device.getMac(), "param.is.null");
+ Device queryDevice = new Device();
+ queryDevice.setMac(device.getMac());
+ queryDevice = deviceMapper.selectOne(queryDevice);
+ Date operateDate = new Date();
+ device.setInstallTime(operateDate);
+ if (ObjectUtils.isEmpty(queryDevice)) {
+ device.setCreateTime(operateDate);
+ device.setState("4");
+ device.setIsDelete(Constants.IS_DELETE_FALSE);
+ deviceMapper.insertSelective(device);
+ } else {
+ device.setId(queryDevice.getId());
+ deviceMapper.updateByPrimaryKeySelective(device);
+ }
+ //������redis������������
+ refreshDeviceInRedis(device.getMac());
+ }
+
+ @Override
+ public List<Device> getInstallDevicesByOperateUser(Integer uid, Integer pageIndex, Integer pageSize) {
+ ValidateUtil.notNull(uid, "param.is.null");
+ Device device = new Device();
+ device.setOperateUserId(uid);
+ PageHelper.startPage(pageIndex, pageSize, false);
+ List<Device> devices = deviceMapper.select(device);
+ return devices;
+ }
+
+ /**
+ * @param mac
+ * @param fromCache
+ * @return ������������������
+ */
+ @Override
+ public Device getDeviceByMac(String mac, boolean fromCache) {
+ if (fromCache) {
Device device = getDeviceFromRedis(mac);
- if(device==null) {
+ if (device == null) {
device = deviceMapper.selectWithOrgIdsByMac(mac);
}
- return device;
- }else {
- return deviceMapper.selectWithOrgIdsByMac(mac);
+ return device;
+ } else {
+ return deviceMapper.selectWithOrgIdsByMac(mac);
}
}
/**
* ���������������������
+ *
* @param mac
* @return
*/
- @Override
- public Device getDeviceByMac(String mac) {
+ @Override
+ public Device getDeviceByMac(String mac) {
- return getDeviceByMac(mac,true);
- }
- /*
- * ���������������������redis������key
- */
- private String getDeviceKey(String mac) {
- return keysConnect(DEVICE,mac);
- }
-// /*
+ return getDeviceByMac(mac, true);
+ }
+
+ /*
+ * ���������������������redis������key
+ */
+ private String getDeviceKey(String mac) {
+ return keysConnect(DEVICE, mac);
+ }
+
+ // /*
// * ������������������redis��������� ������
// */
// private void setDeviceToRedis(String mac,Device device){
@@ -187,438 +196,439 @@
// simpleDevice.setDeviceVersion(device.getDeviceVersion());
// redisUtils.set(key,simpleDevice);
// }
- private Device getDeviceFromRedis(String mac) {
- String key = getDeviceKey(mac);
- return redisUtils.get(key,Device.class);
- }
+ private Device getDeviceFromRedis(String mac) {
+ String key = getDeviceKey(mac);
+ return redisUtils.get(key, Device.class);
+ }
- /**
- *
- * @param params
- * map��� ������ ������id���4������������
- * @return ������������������������
- */
- @Override
- public List<Device> query(Map<String, Object> params) {
- Object orgIdObj = params.get("orgId");
- List<Device> deviceList = null;
- if(orgIdObj != null) {
- Integer orgId = Integer.parseInt(orgIdObj.toString());
- List<Integer> orgIds = orgMapper.selectLowerOrgIds(orgId);
- params.put("orgIds", orgIds);
- deviceList = deviceMapper.selectByMap(params);
- loadDeviceState(deviceList);
- }
- return deviceList;
- }
- /**
- * ������������id��������������� ������������������
- * @param orgId
- * @param deviceName
- * @param pageSize
- * @param pageNo
- * @return ���������������������
- */
- @Override
- public PageResult query(Integer orgId, String deviceName, Integer pageSize, Integer pageNo) {
- List<Integer> orgIds = orgMapper.selectLowerOrgIds(orgId);
- if(!ObjectUtils.isEmpty(pageSize)&&!ObjectUtils.isEmpty(pageNo)){
- PageHelper.startPage(pageNo,pageSize);
- }
- String state = null;
- switch (deviceName){
- case "������":
- state = "0";
- deviceName = null;break;
- case "������":
- state = "1";
- deviceName = null;break;
- case "������":
- state = "2";
- deviceName = null;break;
- case "������":
- state = "3";
- deviceName = null;break;
- case "������":
- state = "4";
- deviceName = null;break;
- }
- List<Device> list = deviceMapper.selectByOrgIdAndDevName(orgId,orgIds,state,deviceName);
- //���redis������������
- loadDeviceState(list);
- if(list instanceof Page){
- return new PageResult(((Page) list).getTotal(),list);
- }
- return new PageResult(null,list);
- }
+ /**
+ * @param params map��� ������ ������id���4������������
+ * @return ������������������������
+ */
+ @Override
+ public List<Device> query(Map<String, Object> params) {
+ Object orgIdObj = params.get("orgId");
+ List<Device> deviceList = null;
+ if (orgIdObj != null) {
+ Integer orgId = Integer.parseInt(orgIdObj.toString());
+ List<Integer> orgIds = orgMapper.selectLowerOrgIds(orgId);
+ params.put("orgIds", orgIds);
+ deviceList = deviceMapper.selectByMap(params);
+ loadDeviceState(deviceList);
+ }
+ return deviceList;
+ }
- /**
- * ������������id������������id ������������������
- * @param orgId
- * @param mpId
- * @param pageSize
- * @param pageNo
- * @return ���������������������
- */
- @Override
- public PageResult query(Integer orgId, Integer mpId, Integer pageSize, Integer pageNo) {
- List<Integer> orgIds = orgMapper.selectLowerOrgIds(orgId);
- if(!ObjectUtils.isEmpty(pageSize)&&!ObjectUtils.isEmpty(pageNo)){
- PageHelper.startPage(pageNo,pageSize);
- }
- List<Device> list = deviceMapper.selectByOrgIdAndMpId(orgId,orgIds,mpId);
- //���redis������������
- loadDeviceState(list);
- if(list instanceof Page){
- return new PageResult(((Page) list).getTotal(),list);
- }
- return new PageResult(null,list);
- }
- private void loadDeviceState(List<Device> list){
- //���redis������������
- list.stream().map( device -> {
- String mac = device.getMac();
- if(!StringUtils.isBlank(mac)){
- String state = getSateFromRedis(device.getMonitorPointId(),mac.toLowerCase());
- device.setState(state);
- }else{
- device.setState(Constants.DEVICE_STATE_OFFLINE);
- }
- return device;
- }).count();
- }
- private String getSateFromRedis(Integer mpId,String mac){
+ /**
+ * ������������id��������������� ������������������
+ *
+ * @param orgId
+ * @param deviceName
+ * @param pageSize
+ * @param pageNo
+ * @return ���������������������
+ */
+ @Override
+ public PageResult query(Integer orgId, String deviceName, Integer pageSize, Integer pageNo) {
+ List<Integer> orgIds = orgMapper.selectLowerOrgIds(orgId);
+ if (!ObjectUtils.isEmpty(pageSize) && !ObjectUtils.isEmpty(pageNo)) {
+ PageHelper.startPage(pageNo, pageSize);
+ }
+ String state = null;
+ switch (deviceName) {
+ case "������":
+ state = "0";
+ deviceName = null;
+ break;
+ case "������":
+ state = "1";
+ deviceName = null;
+ break;
+ case "������":
+ state = "2";
+ deviceName = null;
+ break;
+ case "������":
+ state = "3";
+ deviceName = null;
+ break;
+ case "������":
+ state = "4";
+ deviceName = null;
+ break;
+ }
+ List<Device> list = deviceMapper.selectByOrgIdAndDevName(orgId, orgIds, state, deviceName);
+ //���redis������������
+ loadDeviceState(list);
+ if (list instanceof Page) {
+ return new PageResult(((Page) list).getTotal(), list);
+ }
+ return new PageResult(null, list);
+ }
- Map<String,String> stateMap = getStateMapFromRedis(mpId,mac);
- String state = null;
- if(stateMap != null){
- state = stateMap.get("state");
- }
- state = state == null ?Constants.DEVICE_STATE_OFFLINE:state;
- return state;
- }
- public Map<String,String> getStateMapFromRedis(Integer mpId,String mac){
- StringBuilder key = new StringBuilder();
- //������key
- key.append("state_").append(mpId).append("_").append(mac);
- return redisUtils.get(key.toString(),new TypeReference<Map<String,String>>(){});
- }
- private Device getDeviceWithOrgIdsByMac(String mac) {
- String key = "device_"+mac;
- Device device = redisUtils.get(key,Device.class);
- if(device==null) {
- device = deviceMapper.selectWithOrgIdsByMac(mac);
- if(device!=null){
- redisUtils.set(key,device);
- }
- }
- return device;
- }
+ /**
+ * ������������id������������id ������������������
+ *
+ * @param orgId
+ * @param mpId
+ * @param pageSize
+ * @param pageNo
+ * @return ���������������������
+ */
+ @Override
+ public PageResult query(Integer orgId, Integer mpId, Integer pageSize, Integer pageNo) {
+ List<Integer> orgIds = orgMapper.selectLowerOrgIds(orgId);
+ if (!ObjectUtils.isEmpty(pageSize) && !ObjectUtils.isEmpty(pageNo)) {
+ PageHelper.startPage(pageNo, pageSize);
+ }
+ List<Device> list = deviceMapper.selectByOrgIdAndMpId(orgId, orgIds, mpId);
+ //���redis������������
+ loadDeviceState(list);
+ if (list instanceof Page) {
+ return new PageResult(((Page) list).getTotal(), list);
+ }
+ return new PageResult(null, list);
+ }
- /**
- * ������������������������������
- * ������ redis ���������������,���������������������������������������������task������
- * @param mac
- */
- private void refreshDeviceInRedis(String mac){
- if(!StringUtils.isBlank(mac)){
- String key = getDeviceKey(mac);
- redisUtils.remove(key);
- }else
- {
- log.warn("param mac is null in method [refreshDeviceInRedis]");
- }
- }
- @Override
- public int countByExample(PageBean pageBean){
- Example example = ExampleUtil.generateExample(ENTITY_CLASS,pageBean);
- addDeletesToExample(example);
+ private void loadDeviceState(List<Device> list) {
+ //���redis������������
+ list.stream().map(device -> {
+ String mac = device.getMac();
+ if (!StringUtils.isBlank(mac)) {
+ String state = getSateFromRedis(device.getMonitorPointId(), mac.toLowerCase());
+ device.setState(state);
+ } else {
+ device.setState(Constants.DEVICE_STATE_OFFLINE);
+ }
+ return device;
+ }).count();
+ }
+
+ private String getSateFromRedis(Integer mpId, String mac) {
+
+ Map<String, String> stateMap = getStateMapFromRedis(mpId, mac);
+ String state = null;
+ if (stateMap != null) {
+ state = stateMap.get("state");
+ }
+ state = state == null ? Constants.DEVICE_STATE_OFFLINE : state;
+ return state;
+ }
+
+ public Map<String, String> getStateMapFromRedis(Integer mpId, String mac) {
+ StringBuilder key = new StringBuilder();
+ //������key
+ key.append("state_").append(mpId).append("_").append(mac);
+ return redisUtils.get(key.toString(), new TypeReference<Map<String, String>>() {
+ });
+ }
+
+ private Device getDeviceWithOrgIdsByMac(String mac) {
+ String key = "device_" + mac;
+ Device device = redisUtils.get(key, Device.class);
+ if (device == null) {
+ device = deviceMapper.selectWithOrgIdsByMac(mac);
+ if (device != null) {
+ redisUtils.set(key, device);
+ }
+ }
+ return device;
+ }
+
+ /**
+ * ������������������������������
+ * ������ redis ���������������,���������������������������������������������task������
+ *
+ * @param mac
+ */
+ private void refreshDeviceInRedis(String mac) {
+ if (!StringUtils.isBlank(mac)) {
+ String key = getDeviceKey(mac);
+ redisUtils.remove(key);
+ } else {
+ log.warn("param mac is null in method [refreshDeviceInRedis]");
+ }
+ }
+
+ @Override
+ public int countByExample(PageBean pageBean) {
+ Example example = ExampleUtil.generateExample(ENTITY_CLASS, pageBean);
+ TkMybatisUtils.addDeletesToExample(example);
return deviceMapper.selectCountByExample(example);
- }
+ }
- /**
- * ������������������������
- * @param example
- */
- private void addDeletesToExample(Example example){
- List<Example.Criteria> criteriaList = example.getOredCriteria();
- if(criteriaList!=null&&criteriaList.size()>0){
- for(Example.Criteria cri : criteriaList){
- cri.andNotEqualTo("isDelete", Constants.IS_DELETE_TRUE);
- }
- }else {
- example.or().andNotEqualTo("isDelete",Constants.IS_DELETE_TRUE);
- }
- }
- @Override
- public PageBean queryByPageBean(PageBean pageBean) {
- Example example = ExampleUtil.generateExample(ENTITY_CLASS,pageBean);
+ @Override
+ public PageBean queryByPageBean(PageBean pageBean) {
+ Example example = ExampleUtil.generateExample(ENTITY_CLASS, pageBean);
// addDeletesToExample(example);
- if(pageBean.getPageSize()>0){
- PageHelper.startPage(pageBean.getPageIndex(),pageBean.getPageSize());
- }
- List<Device> deviceList = deviceMapper.selectWithRelationData(example);
- return new PageBean(deviceList);
- }
+ if (pageBean.getPageSize() > 0) {
+ PageHelper.startPage(pageBean.getPageIndex(), pageBean.getPageSize());
+ }
+ List<Device> deviceList = deviceMapper.selectWithRelationData(example);
+ return new PageBean(deviceList);
+ }
- @Override
- public void deleteByIds(Integer[] ids) {
- Device device = new Device();
- device.setIsDelete(Constants.IS_DELETE_TRUE);
- if(ids!=null&&ids.length>0){
- Example example = new Example(ENTITY_CLASS);
- example.or().andIn("id", Arrays.asList(ids));
- if(ids.length==1){
- device.setId(ids[0]);
- deviceMapper.updateByPrimaryKeySelective(device);
- }else{
- deviceMapper.updateByExampleSelective(device,example);
- }
- List<Device> deviceList = deviceMapper.selectByExample(example);
- List<String> adjustAndDeviceKeys = deviceList.stream().collect(
- ArrayList<String>::new,
- (list,dev) -> {
- if(!StringUtils.isBlank(dev.getMac())){
- list.add("device_"+dev.getMac());
- list.add("adjust_"+dev.getMac());
- }
- },
- (oList,nList)-> {
- oList.addAll(nList);
- }
- );
- redisUtils.remove(adjustAndDeviceKeys.toArray(new String [adjustAndDeviceKeys.size()]));
- }
- }
+ @Override
+ public void deleteByIds(Integer[] ids) {
+ Device device = new Device();
+ device.setIsDelete(Constants.IS_DELETE_TRUE);
+ if (ids != null && ids.length > 0) {
+ Example example = new Example(ENTITY_CLASS);
+ example.or().andIn("id", Arrays.asList(ids));
+ if (ids.length == 1) {
+ device.setId(ids[0]);
+ deviceMapper.updateByPrimaryKeySelective(device);
+ } else {
+ deviceMapper.updateByExampleSelective(device, example);
+ }
+ List<Device> deviceList = deviceMapper.selectByExample(example);
+ List<String> adjustAndDeviceKeys = deviceList.stream().collect(
+ ArrayList<String>::new,
+ (list, dev) -> {
+ if (!StringUtils.isBlank(dev.getMac())) {
+ list.add("device_" + dev.getMac());
+ list.add("adjust_" + dev.getMac());
+ }
+ },
+ (oList, nList) -> {
+ oList.addAll(nList);
+ }
+ );
+ redisUtils.remove(adjustAndDeviceKeys.toArray(new String[adjustAndDeviceKeys.size()]));
+ }
+ }
- @Override
- @Transactional
- public void addOrModify(Device device){
- try{
- //mac ���������
- if(!StringUtils.isBlank(device.getMac())){
- device.setMac(device.getMac().toLowerCase());
- }
- if(device.getId()!=null){
- deviceMapper.updateByPrimaryKeySelective(device);
- }else{
- Device deviceQuery = new Device();
- deviceQuery.setMac(device.getMac());
- Device deviceResult = deviceMapper.selectOne(deviceQuery);
- if(deviceResult !=null){
- device.setId(deviceResult.getId());
- deviceMapper.updateByPrimaryKeySelective(device);
- }else {
- device.setState(Constants.DEVICE_STATE_OFFLINE);
- device.setIsDelete(Constants.IS_DELETE_FALSE);
- deviceMapper.insertSelective(device);
- }
- }
- //������redis���������������
- refreshDeviceInRedis(device.getMac());
- }
- catch (Exception ex){
- throw ex;
- }
- }
- @Override
- public List<Map> countByTimes(Date start,Date end,String format){
- if(start==null||end==null||StringUtils.isBlank(format)){
- log.error("some params is null");
- throw new BusinessException("some params is null");
- }
- return deviceMapper.countByTimes(start, end, format);
- }
-
- @Override
- public List<Device> getDevicesByMonitorPointId(Integer monitorPointId) {
- Device device = new Device();
- device.setMonitorPointId(monitorPointId);
- device.setIsDelete(Constants.IS_DELETE_FALSE);
- List<Device> devices = deviceMapper.select(device);
- for (Device device2 : devices) {
- DeviceProperty deviceProperty = devicePropertyMapper.selectByPrimaryKey(device2.getId());
- device2.setDeviceProperty(deviceProperty);
- }
- return devices;
- }
+ @Override
+ @Transactional
+ public void addOrModify(Device device) {
+ try {
+ //mac ���������
+ if (!StringUtils.isBlank(device.getMac())) {
+ device.setMac(device.getMac().toLowerCase());
+ }
+ if (device.getId() != null) {
+ deviceMapper.updateByPrimaryKeySelective(device);
+ } else {
+ Device deviceQuery = new Device();
+ deviceQuery.setMac(device.getMac());
+ Device deviceResult = deviceMapper.selectOne(deviceQuery);
+ if (deviceResult != null) {
+ device.setId(deviceResult.getId());
+ deviceMapper.updateByPrimaryKeySelective(device);
+ } else {
+ device.setState(Constants.DEVICE_STATE_OFFLINE);
+ device.setIsDelete(Constants.IS_DELETE_FALSE);
+ deviceMapper.insertSelective(device);
+ }
+ }
+ //������redis���������������
+ refreshDeviceInRedis(device.getMac());
+ } catch (Exception ex) {
+ throw ex;
+ }
+ }
- /**
- * ������map{mac������state���}
- * @param macList
- * @return
- */
- @Override
- public List<Map<String,String>> queryDevicesState(List<String> macList,Boolean withData) {
- List<Map<String,String>> list = macList.stream().map(mac->{
- Map<String,String> resultMap = new HashMap<>();
- if(!StringUtils.isBlank(mac)){
- mac = mac.toLowerCase();
- Device device = getDeviceWithOrgIdsByMac(mac);
- Map<String,String> stateMap = getStateMapFromRedis(device.getMonitorPointId(),mac);
- if(!MapUtils.isEmpty(stateMap)){
- resultMap.putAll(stateMap);
- }else{
- resultMap.put("state",Constants.DEVICE_STATE_OFFLINE);
- resultMap.put("mac",mac);
- }
- //������data
- if(BooleanUtils.isTrue(withData)){
- String dataKey = "data_"+mac;
- Map<String,String> dataMap = redisUtils.get(dataKey,new TypeReference<Map<String,String>>(){});
- if(!MapUtils.isEmpty(dataMap)){
- resultMap.putAll(dataMap);
- }
- }
- }
- return resultMap;
- }).collect(Collectors.toList());
- return list;
- }
+ @Override
+ public List<Map> countByTimes(Date start, Date end, String format) {
+ if (start == null || end == null || StringUtils.isBlank(format)) {
+ log.error("some params is null");
+ throw new BusinessException("some params is null");
+ }
+ return deviceMapper.countByTimes(start, end, format);
+ }
- @Override
- public Device queryById(Integer id) {
- return deviceMapper.selectByPrimaryKey(id);
- }
+ @Override
+ public List<Device> getDevicesByMonitorPointId(Integer monitorPointId) {
+ Device device = new Device();
+ device.setMonitorPointId(monitorPointId);
+ device.setIsDelete(Constants.IS_DELETE_FALSE);
+ List<Device> devices = deviceMapper.select(device);
+ for (Device device2 : devices) {
+ DeviceProperty deviceProperty = devicePropertyMapper.selectByPrimaryKey(device2.getId());
+ device2.setDeviceProperty(deviceProperty);
+ }
+ return devices;
+ }
- @Override
- public List<Device> getDevicesByProfessionId(Map<String, Object> parameters) {
-
- return deviceMapper.getDevicesByProfession(parameters);
- }
+ /**
+ * ������map{mac������state���}
+ *
+ * @param macList
+ * @return
+ */
+ @Override
+ public List<Map<String, String>> queryDevicesState(List<String> macList, Boolean withData) {
+ List<Map<String, String>> list = macList.stream().map(mac -> {
+ Map<String, String> resultMap = new HashMap<>();
+ if (!StringUtils.isBlank(mac)) {
+ mac = mac.toLowerCase();
+ Device device = getDeviceWithOrgIdsByMac(mac);
+ Map<String, String> stateMap = getStateMapFromRedis(device.getMonitorPointId(), mac);
+ if (!MapUtils.isEmpty(stateMap)) {
+ resultMap.putAll(stateMap);
+ } else {
+ resultMap.put("state", Constants.DEVICE_STATE_OFFLINE);
+ resultMap.put("mac", mac);
+ }
+ //������data
+ if (BooleanUtils.isTrue(withData)) {
+ String dataKey = "data_" + mac;
+ Map<String, String> dataMap = redisUtils.get(dataKey, new TypeReference<Map<String, String>>() {
+ });
+ if (!MapUtils.isEmpty(dataMap)) {
+ resultMap.putAll(dataMap);
+ }
+ }
+ }
+ return resultMap;
+ }).collect(Collectors.toList());
+ return list;
+ }
- @Override
- public List<Device> getDevicesByOrganizationId(Map<String, Object> parameters) {
- ValidateUtil.notNull(parameters.get("organizationId"), "param.is.null");
- return deviceMapper.getDevicesByOrganizationId(parameters);
- }
- @Override
- public Map<String,Long> queryDeviceStateSummary(@NotNull Integer orgId){
- Map<String,Object> params = new HashMap<>();
- if(!dictionaryDataMapper.isSupperOrgId(orgId)){
- List<Integer> orgIds = organizationMapper.selectLowerOrgIds(orgId);
- params.put("orgIds",orgIds);
- }
- List<Map<String, Object>> list = deviceMapper.getDeviceStatesByAccount(params);
- Long all = 0L, normal = 0L, abnormal = 0L, stop = 0L;
- for (Map<String, Object> map : list) {
- Long count = (Long) map.get("count");
- all += count;
- switch (Integer.valueOf((String) map.get("state"))) {
- case 0:
- normal = count;
- break;
- case 4:
- stop = count;
- break;
- default:
- abnormal += count;
- }
- }
- Map<String,Long> result = new HashMap<>();
- result.put("all", all);
- result.put("normal", normal);
- result.put("abnormal", abnormal);
- result.put("stop", stop);
- return result;
- }
+ @Override
+ public Device queryById(Integer id) {
+ return deviceMapper.selectByPrimaryKey(id);
+ }
- @Resource
- private DevicePropertyMapper devicePropertyMapper;
-
- @Override
- @Transactional
- public void saveOrUpdate(Device device, DeviceProperty deviceProperty) {
- device.setMac(device.getMac().toLowerCase());
- if (ObjectUtils.isEmpty(device.getId())) {
- device.setState(Constants.DEVICE_STATE_OFFLINE);
- device.setIsDelete(Constants.IS_DELETE_FALSE);
- deviceMapper.insertSelective(device);
- deviceProperty.setId(device.getId());
- } else {
- deviceMapper.updateByPrimaryKeySelective(device);
- devicePropertyMapper.deleteByPrimaryKey(deviceProperty);
- }
- devicePropertyMapper.insertSelective(deviceProperty);
- refreshDeviceInRedis(device.getMac());
+ @Override
+ public List<Device> getDevicesByProfessionId(Map<String, Object> parameters) {
- }
-
- @Override
- public PageBean getDeviceList(PageBean pageBean) {
- Example example = ExampleUtil.generateExample(ENTITY_CLASS,pageBean);
- if(pageBean.getPageSize()>0){
- PageHelper.startPage(pageBean.getPageIndex(),pageBean.getPageSize());
- }
- List<Device> deviceList = deviceMapper.getDeviceList(example);
- return new PageBean(deviceList);
- }
+ return deviceMapper.getDevicesByProfession(parameters);
+ }
- @Override
- public void offLinToMaintenance(Map<String, Object> parameters) {
- ValidateUtil.notNull(parameters.get("id"), "param.is.null");
- ValidateUtil.notNull(parameters.get("old_state"), "param.is.null");
- ValidateUtil.notNull(parameters.get("new_state"), "param.is.null");
- int count = 0;
- if (Constants.DEVICE_STATE_OFFLINE.equals(parameters.get("old_state")) && Constants.DEVICE_STATE_MAINTENANCE.equals(parameters.get("new_state"))) {
- Device device = new Device();
- Example example = new Example(ENTITY_CLASS);
- example.and().andEqualTo("id", new Integer(parameters.get("id").toString())).andEqualTo("state", Constants.DEVICE_STATE_OFFLINE);
- device.setState(Constants.DEVICE_STATE_MAINTENANCE);
- count = deviceMapper.updateByExampleSelective(device, example);
- }
- if (count == 0) {
- throw new BusinessException("������������������");
- }
- }
+ @Override
+ public List<Device> getDevicesByOrganizationId(Map<String, Object> parameters) {
+ ValidateUtil.notNull(parameters.get("organizationId"), "param.is.null");
+ return deviceMapper.getDevicesByOrganizationId(parameters);
+ }
- @Override
- public void saveOrUpdate4Mobile(Device device, DeviceProperty deviceProperty) {
- device.setMac(device.getMac().toLowerCase());
- Device selectDevice = new Device();
- selectDevice.setMac(device.getMac());
- selectDevice = deviceMapper.selectOne(selectDevice);
- if (ObjectUtils.isEmpty(selectDevice)) {
- device.setState(Constants.DEVICE_STATE_OFFLINE);
- device.setIsDelete(Constants.IS_DELETE_FALSE);
- deviceMapper.insertSelective(device);
- deviceProperty.setId(device.getId());
- devicePropertyMapper.insertSelective(deviceProperty);
- } else {
- device.setId(selectDevice.getId());
- deviceMapper.updateByPrimaryKeySelective(device);
- deviceProperty.setId(selectDevice.getId());
- devicePropertyMapper.selectByPrimaryKey(selectDevice.getId());
- if (ObjectUtils.isEmpty(devicePropertyMapper.selectByPrimaryKey(deviceProperty.getId()))) {
- devicePropertyMapper.insertSelective(deviceProperty);
- } else {
- devicePropertyMapper.updateByPrimaryKeySelective(deviceProperty);
- }
-
- }
- refreshDeviceInRedis(device.getMac());
+ @Override
+ public Map<String, Long> queryDeviceStateSummary(@NotNull Integer orgId) {
+ Map<String, Object> params = new HashMap<>();
+ if (!dictionaryDataMapper.isSupperOrgId(orgId)) {
+ List<Integer> orgIds = organizationMapper.selectLowerOrgIds(orgId);
+ params.put("orgIds", orgIds);
+ }
+ List<Map<String, Object>> list = deviceMapper.getDeviceStatesByAccount(params);
+ Long all = 0L, normal = 0L, abnormal = 0L, stop = 0L;
+ for (Map<String, Object> map : list) {
+ Long count = (Long) map.get("count");
+ all += count;
+ switch (Integer.valueOf((String) map.get("state"))) {
+ case 0:
+ normal = count;
+ break;
+ case 4:
+ stop = count;
+ break;
+ default:
+ abnormal += count;
+ }
+ }
+ Map<String, Long> result = new HashMap<>();
+ result.put("all", all);
+ result.put("normal", normal);
+ result.put("abnormal", abnormal);
+ result.put("stop", stop);
+ return result;
+ }
-
- }
+ @Resource
+ private DevicePropertyMapper devicePropertyMapper;
- @Override
- public String getLimitDataByDevice(Map<String, Object> parameters) {
- // TODO Auto-generated method stub
- return deviceMapper.getLimitDataByDevice(parameters);
- }
+ @Override
+ @Transactional
+ public void saveOrUpdate(Device device, DeviceProperty deviceProperty) {
+ device.setMac(device.getMac().toLowerCase());
+ if (ObjectUtils.isEmpty(device.getId())) {
+ device.setState(Constants.DEVICE_STATE_OFFLINE);
+ device.setIsDelete(Constants.IS_DELETE_FALSE);
+ deviceMapper.insertSelective(device);
+ deviceProperty.setId(device.getId());
+ } else {
+ deviceMapper.updateByPrimaryKeySelective(device);
+ devicePropertyMapper.deleteByPrimaryKey(deviceProperty);
+ }
+ devicePropertyMapper.insertSelective(deviceProperty);
+ refreshDeviceInRedis(device.getMac());
- //������������������������������mac���������������������������������������������
- @Override
- public Device getDeviceByLongitudeAsc(String mac) {
- Example example = new Example(Device.class);
- example.setOrderByClause("longitude ASC");
- List<Device> deviceList=deviceMapper.selectByExample(example);
- for(int i=0;i<deviceList.size();i++){
- if(mac.equals(deviceList.get(i).getMac())){
- Device deviceSecond=deviceList.get(i+1);
- return deviceSecond;
- }
- }
- return null;
- }
+ }
+
+ @Override
+ public PageBean getDeviceList(PageBean pageBean) {
+ Example example = ExampleUtil.generateExample(ENTITY_CLASS, pageBean);
+ if (pageBean.getPageSize() > 0) {
+ PageHelper.startPage(pageBean.getPageIndex(), pageBean.getPageSize());
+ }
+ List<Device> deviceList = deviceMapper.getDeviceList(example);
+ return new PageBean(deviceList);
+ }
+
+ @Override
+ public void offLinToMaintenance(Map<String, Object> parameters) {
+ ValidateUtil.notNull(parameters.get("id"), "param.is.null");
+ ValidateUtil.notNull(parameters.get("old_state"), "param.is.null");
+ ValidateUtil.notNull(parameters.get("new_state"), "param.is.null");
+ int count = 0;
+ if (Constants.DEVICE_STATE_OFFLINE.equals(parameters.get("old_state")) && Constants.DEVICE_STATE_MAINTENANCE.equals(parameters.get("new_state"))) {
+ Device device = new Device();
+ Example example = new Example(ENTITY_CLASS);
+ example.and().andEqualTo("id", new Integer(parameters.get("id").toString())).andEqualTo("state", Constants.DEVICE_STATE_OFFLINE);
+ device.setState(Constants.DEVICE_STATE_MAINTENANCE);
+ count = deviceMapper.updateByExampleSelective(device, example);
+ }
+ if (count == 0) {
+ throw new BusinessException("������������������");
+ }
+ }
+
+ @Override
+ public void saveOrUpdate4Mobile(Device device, DeviceProperty deviceProperty) {
+ device.setMac(device.getMac().toLowerCase());
+ Device selectDevice = new Device();
+ selectDevice.setMac(device.getMac());
+ selectDevice = deviceMapper.selectOne(selectDevice);
+ if (ObjectUtils.isEmpty(selectDevice)) {
+ device.setState(Constants.DEVICE_STATE_OFFLINE);
+ device.setIsDelete(Constants.IS_DELETE_FALSE);
+ deviceMapper.insertSelective(device);
+ deviceProperty.setId(device.getId());
+ devicePropertyMapper.insertSelective(deviceProperty);
+ } else {
+ device.setId(selectDevice.getId());
+ deviceMapper.updateByPrimaryKeySelective(device);
+ deviceProperty.setId(selectDevice.getId());
+ devicePropertyMapper.selectByPrimaryKey(selectDevice.getId());
+ if (ObjectUtils.isEmpty(devicePropertyMapper.selectByPrimaryKey(deviceProperty.getId()))) {
+ devicePropertyMapper.insertSelective(deviceProperty);
+ } else {
+ devicePropertyMapper.updateByPrimaryKeySelective(deviceProperty);
+ }
+
+ }
+ refreshDeviceInRedis(device.getMac());
+
+
+ }
+
+ @Override
+ public String getLimitDataByDevice(Map<String, Object> parameters) {
+ // TODO Auto-generated method stub
+ return deviceMapper.getLimitDataByDevice(parameters);
+ }
+
+ //������������������������������mac���������������������������������������������
+ @Override
+ public Device getDeviceByLongitudeAsc(String mac) {
+ Example example = new Example(Device.class);
+ example.setOrderByClause("longitude ASC");
+ List<Device> deviceList = deviceMapper.selectByExample(example);
+ for (int i = 0; i < deviceList.size(); i++) {
+ if (mac.equals(deviceList.get(i).getMac())) {
+ Device deviceSecond = deviceList.get(i + 1);
+ return deviceSecond;
+ }
+ }
+ return null;
+ }
}
diff --git a/src/main/java/com/moral/service/impl/MenuServiceImpl.java b/src/main/java/com/moral/service/impl/MenuServiceImpl.java
new file mode 100644
index 0000000..507de82
--- /dev/null
+++ b/src/main/java/com/moral/service/impl/MenuServiceImpl.java
@@ -0,0 +1,139 @@
+package com.moral.service.impl;
+
+import java.util.Arrays;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+
+import com.github.pagehelper.PageHelper;
+import com.moral.common.bean.Constants;
+import com.moral.common.bean.PageBean;
+import com.moral.common.util.ExampleUtil;
+import com.moral.entity.Menu;
+import com.moral.mapper.MenuMapper;
+import com.moral.service.MenuService;
+import com.moral.util.TkMybatisUtils;
+
+import tk.mybatis.mapper.entity.Example;
+
+@Service
+public class MenuServiceImpl implements MenuService {
+
+ private static Class ENTITY_CLASS = Menu.class;
+
+ @Resource
+ private MenuMapper menuMapper;
+
+ @Override
+ public void addOrModify(Menu menu) {
+ try {
+ menu.setUpdateTime(new Date());
+ menu.setUpdateUser(menu.getUpdateUser());
+ if (menu.getId() != null) {
+ menuMapper.updateByPrimaryKeySelective(menu);
+ } else {
+ Menu menuQuery = new Menu();
+ menuQuery.setMenuCode(menu.getMenuCode());
+ menuQuery.setIsDelete(Constants.IS_DELETE_FALSE);
+ Menu menuResult = menuMapper.selectOne(menuQuery);
+ if (menuResult != null) {
+ menu.setId(menuResult.getId());
+ menuMapper.updateByPrimaryKeySelective(menu);
+ } else {
+ menu.setIsDelete(Constants.IS_DELETE_FALSE);
+ menu.setCreateTime(new Date());
+ menu.setCreateUser(menu.getCreateUser());
+ menuMapper.insertSelective(menu);
+ }
+ }
+ } catch (Exception ex) {
+ throw ex;
+ }
+ }
+
+ @Override
+ public PageBean queryByPageBean(PageBean pageBean) {
+ Example example = ExampleUtil.generateExample(ENTITY_CLASS, pageBean);
+ List<Example.Criteria> criteriaList = example.getOredCriteria();
+ if (criteriaList != null && criteriaList.size() > 0) {
+ for (Example.Criteria cri : criteriaList) {
+ cri.andNotEqualTo("isDelete", Constants.IS_DELETE_TRUE);
+ }
+ } else {
+ example.or().andNotEqualTo("isDelete", Constants.IS_DELETE_TRUE);
+ }
+ if (example.getOrderByClause() == null || example.getOrderByClause().isEmpty()) {
+ example.setOrderByClause("menu_name asc");
+ }
+ List<Menu> menuList = menuMapper.selectWithMenuNameByExample(example);
+ Iterator<Menu> iterator = menuList.iterator();
+ while (iterator.hasNext()) {
+ Menu menu = iterator.next();
+ if (menu.getMenuParentId() == null) {
+ iterator.remove();
+ }
+ }
+ return new PageBean(menuList);
+ }
+
+ @Override
+ public PageBean queryByAllPageBean(PageBean pageBean) {
+ Example example = ExampleUtil.generateExample(ENTITY_CLASS, pageBean);
+ List<Example.Criteria> criteriaList = example.getOredCriteria();
+ if (criteriaList != null && criteriaList.size() > 0) {
+ for (Example.Criteria cri : criteriaList) {
+ cri.andNotEqualTo("isDelete", Constants.IS_DELETE_TRUE);
+ }
+ } else {
+ example.or().andNotEqualTo("isDelete", Constants.IS_DELETE_TRUE);
+ }
+ if (example.getOrderByClause() == null || example.getOrderByClause().isEmpty()) {
+ example.setOrderByClause("menu_name asc");
+ }
+ List<Menu> menuList = menuMapper.selectWithMenuNameByExample(example);
+ Iterator<Menu> iterator = menuList.iterator();
+ return new PageBean(menuList);
+ }
+
+ @Override
+ public int countByExample(PageBean pageBean) {
+ Example example = ExampleUtil.generateExample(ENTITY_CLASS, pageBean);
+ TkMybatisUtils.addDeletesToExample(example);
+ return menuMapper.selectCountByExample(example);
+ }
+
+ @Override
+ public PageBean getMenuList(PageBean pageBean) {
+ Example example = ExampleUtil.generateExample(ENTITY_CLASS, pageBean);
+ if (pageBean.getPageSize() > 0) {
+ PageHelper.startPage(pageBean.getPageIndex(), pageBean.getPageSize());
+ }
+ List<Menu> menuList = menuMapper.getMenuList(example);
+ return new PageBean(menuList);
+ }
+
+ @Override
+ public List<Menu> getMenuParentList(String menuName) {
+ List<Menu> menuParentList = menuMapper.getParentMenuList(menuName);
+ return menuParentList;
+ }
+
+ @Override
+ public void deleteByIds(Integer[] ids) {
+ Menu menu = new Menu();
+ menu.setIsDelete(Constants.IS_DELETE_TRUE);
+ Example example = new Example(ENTITY_CLASS);
+ example.or().andIn("id", Arrays.asList(ids));
+ menuMapper.updateByExampleSelective(menu, example);
+ }
+
+ @Override
+ public List<Menu> getMenuListByName(String menuName) {
+ List<Menu> menuList = menuMapper.getMenuListByName(menuName);
+ return menuList;
+ }
+}
diff --git a/src/main/java/com/moral/service/impl/RoleMenuServiceImpl.java b/src/main/java/com/moral/service/impl/RoleMenuServiceImpl.java
new file mode 100644
index 0000000..5d68eb4
--- /dev/null
+++ b/src/main/java/com/moral/service/impl/RoleMenuServiceImpl.java
@@ -0,0 +1,76 @@
+package com.moral.service.impl;
+
+import java.util.Arrays;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+
+import com.github.pagehelper.PageHelper;
+import com.moral.common.bean.PageBean;
+import com.moral.common.util.ExampleUtil;
+import com.moral.entity.RoleMenu;
+import com.moral.mapper.RoleMenuMapper;
+import com.moral.service.RoleMenuService;
+
+import tk.mybatis.mapper.entity.Example;
+
+@Service
+public class RoleMenuServiceImpl implements RoleMenuService {
+
+ private static Class ENTITY_CLASS = RoleMenu.class;
+
+ @Resource
+ private RoleMenuMapper roleMenuMapper;
+
+ @Override
+ public void addOrModify(RoleMenu roleMenu) {
+ try {
+ if (roleMenu.getId() != null) {
+ roleMenuMapper.updateByPrimaryKey(roleMenu);
+ } else {
+ RoleMenu roleMenuQuery = new RoleMenu();
+ roleMenuQuery.setRoleId(roleMenu.getRoleId());
+ roleMenuQuery.setMenuId(roleMenu.getMenuId());
+ RoleMenu roleMenuResult = roleMenuMapper.selectOne(roleMenuQuery);
+ if (roleMenuResult == null) {
+ roleMenuMapper.insertSelective(roleMenu);
+ }
+ }
+ } catch (Exception ex) {
+ throw ex;
+ }
+ }
+
+ @Override
+ public int countByExample(PageBean pageBean) {
+ Example example = ExampleUtil.generateExample(ENTITY_CLASS, pageBean);
+ return roleMenuMapper.selectCountByExample(example);
+ }
+
+ @Override
+ public PageBean getRoleMenuList(PageBean pageBean) {
+ Example example = ExampleUtil.generateExample(ENTITY_CLASS, pageBean);
+ if (pageBean.getPageSize() > 0) {
+ PageHelper.startPage(pageBean.getPageIndex(), pageBean.getPageSize());
+ }
+ List<RoleMenu> roleMenuList = roleMenuMapper.getRoleMenuList(example);
+ return new PageBean(roleMenuList);
+ }
+
+ @Override
+ public void deleteByIds(Integer... ids) {
+ if (ids != null && ids.length > 0) {
+ if (ids.length == 1) {
+ roleMenuMapper.deleteByPrimaryKeyOwn(ids[0]);
+ } else {
+ Example example = new Example(ENTITY_CLASS);
+ example.or().andIn("id", Arrays.asList(ids));
+ roleMenuMapper.deleteByExample(example);
+ }
+
+ }
+ }
+
+}
diff --git a/src/main/java/com/moral/service/impl/RoleServiceImpl.java b/src/main/java/com/moral/service/impl/RoleServiceImpl.java
new file mode 100644
index 0000000..e1879f3
--- /dev/null
+++ b/src/main/java/com/moral/service/impl/RoleServiceImpl.java
@@ -0,0 +1,86 @@
+package com.moral.service.impl;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.moral.common.bean.Constants;
+import com.moral.common.bean.PageBean;
+import com.moral.common.util.ExampleUtil;
+import com.moral.common.util.MyBatisBaseMapUtil;
+import com.moral.entity.Role;
+import com.moral.mapper.RoleMapper;
+import com.moral.service.RoleService;
+import com.moral.util.TkMybatisUtils;
+
+import tk.mybatis.mapper.entity.Example;
+
+@Service
+public class RoleServiceImpl implements RoleService {
+
+ private static Class ENTITY_CLASS = Role.class;
+
+ @Resource
+ RoleMapper roleMapper;
+
+ @Override
+ public PageBean<Role> queryByPageBean(PageBean pageBean) {
+ return MyBatisBaseMapUtil.queryPage(roleMapper, pageBean, ENTITY_CLASS);
+ }
+
+ @Override
+ @Transactional
+ public void addOrModify(Role role) {
+ try {
+ role.setUpdateTime(new Date());
+ role.setUpdateUser(role.getUpdateUser());
+ if (role.getId() != null) {
+ roleMapper.updateByPrimaryKeySelective(role);
+ } else {
+ Role roleQuery = new Role();
+ roleQuery.setRoleCode(role.getRoleCode());
+ roleQuery.setIsDelete(Constants.IS_DELETE_FALSE);
+ Role roleResult = roleMapper.selectOne(roleQuery);
+ if (roleResult != null) {
+ role.setId(roleResult.getId());
+ roleMapper.updateByPrimaryKeySelective(role);
+ } else {
+ role.setIsDelete(Constants.IS_DELETE_FALSE);
+ role.setCreateTime(new Date());
+ role.setCreateUser(role.getCreateUser());
+ roleMapper.insertSelective(role);
+ }
+ }
+ } catch (Exception ex) {
+ throw ex;
+ }
+ }
+
+ @Override
+ @Transactional
+ public int deleteByIds(List<Integer> ids) {
+ Role role = new Role();
+ role.setIsDelete(Constants.IS_DELETE_TRUE);
+ Example example = new Example(ENTITY_CLASS);
+ example.or().andIn("id", ids);
+ return roleMapper.updateByExampleSelective(role, example);
+ }
+
+ @Override
+ public int countByExample(PageBean pageBean) {
+ Example example = ExampleUtil.generateExample(ENTITY_CLASS, pageBean);
+ TkMybatisUtils.addDeletesToExample(example);
+ return roleMapper.selectCountByExample(example);
+ }
+
+ @Override
+ public List<Role> getRoleList(String roleName) {
+ List<Role> roleList = roleMapper.getRoleList(roleName);
+ return roleList;
+ }
+
+}
diff --git a/src/main/java/com/moral/util/TkMybatisUtils.java b/src/main/java/com/moral/util/TkMybatisUtils.java
new file mode 100644
index 0000000..ad2b3f5
--- /dev/null
+++ b/src/main/java/com/moral/util/TkMybatisUtils.java
@@ -0,0 +1,25 @@
+package com.moral.util;
+
+import java.util.List;
+
+import com.moral.common.bean.Constants;
+
+import tk.mybatis.mapper.entity.Example;
+
+public class TkMybatisUtils {
+
+ /**
+ * ������������������������
+ * @param example
+ */
+ public static void addDeletesToExample(Example example){
+ List<Example.Criteria> criteriaList = example.getOredCriteria();
+ if(criteriaList!=null&&criteriaList.size()>0){
+ for(Example.Criteria cri : criteriaList){
+ cri.andNotEqualTo("isDelete", Constants.IS_DELETE_TRUE);
+ }
+ }else {
+ example.or().andNotEqualTo("isDelete",Constants.IS_DELETE_TRUE);
+ }
+ }
+}
diff --git a/src/main/resources/mapper/AccountMapper.xml b/src/main/resources/mapper/AccountMapper.xml
index 8a19033..c7c2903 100644
--- a/src/main/resources/mapper/AccountMapper.xml
+++ b/src/main/resources/mapper/AccountMapper.xml
@@ -45,4 +45,14 @@
FROM account
WHERE id=#{id}
</select>
+
+ <select id="getAccountList" resultMap="BaseResultMap">
+ select
+ <include refid="Base_Column_List"/>
+ from account
+ where is_delete=0 and expire_time > now()
+ <if test="accountName != 'null'">
+ and account_name like concat('%',#{accountName},'%')
+ </if>
+ </select>
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/AccountRoleMapper.xml b/src/main/resources/mapper/AccountRoleMapper.xml
new file mode 100644
index 0000000..d7a7c32
--- /dev/null
+++ b/src/main/resources/mapper/AccountRoleMapper.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.moral.mapper.AccountRoleMapper">
+
+ <resultMap id="ResultMap" type="com.moral.entity.AccountRole" >
+ <id column="id" property="id" jdbcType="INTEGER" />
+ <result column="account_id" property="accountId" jdbcType="INTEGER" />
+ <result column="role_id" property="roleId" jdbcType="INTEGER" />
+ </resultMap>
+
+ <resultMap id="BaseResultMap" type="com.moral.entity.AccountRole" extends="ResultMap">
+ <association property="account" javaType="com.moral.entity.Account">
+ <result column="account_id" jdbcType="INTEGER" property="id" />
+ <result column="account_name" jdbcType="VARCHAR" property="accountName" />
+ </association>
+ <association property="role" javaType="com.moral.entity.Role">
+ <result column="role_id" property="id" jdbcType="INTEGER" />
+ <result column="role_name" property="roleName" jdbcType="VARCHAR" />
+ </association>
+ </resultMap>
+
+ <sql id="Example_Where_Clause" >
+ <where >
+ <foreach collection="oredCriteria" item="criteria" separator="or" >
+ <if test="criteria.valid" >
+ <trim prefix="(" suffix=")" prefixOverrides="and" >
+ <foreach collection="criteria.criteria" item="criterion" >
+ <choose >
+ <when test="criterion.noValue" >
+ and ${criterion.condition}
+ </when>
+ <when test="criterion.singleValue" >
+ and ${criterion.condition} #{criterion.value}
+ </when>
+ <when test="criterion.betweenValue" >
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+ </when>
+ <when test="criterion.listValue" >
+ and ${criterion.condition}
+ <foreach collection="criterion.value" item="listItem" open="(" close=")" separator="," >
+ #{listItem}
+ </foreach>
+ </when>
+ </choose>
+ </foreach>
+ </trim>
+ </if>
+ </foreach>
+ </where>
+ </sql>
+
+ <select id="getAccountRoleList" resultMap="BaseResultMap">
+ select
+ ar.*,
+ a.account_name,
+ r.role_name
+ from account_role ar
+ left join account a on ar.account_id = a.id
+ left join role r on ar.role_id = r.id
+ <if test="_parameter != null">
+ <include refid="Example_Where_Clause"/>
+ </if>
+ <if test="orderByClause != null">
+ order by ${orderByClause}
+ </if>
+ </select>
+
+ <update id="updateByPrimaryKey" parameterType="com.moral.entity.AccountRole" >
+ update account_role
+ set account_id = #{accountId,jdbcType=INTEGER},
+ role_id = #{roleId,jdbcType=INTEGER}
+ where id = #{id,jdbcType=INTEGER}
+ </update>
+
+ <delete id="deleteByPrimaryKeyOwn" parameterType="java.lang.Integer" >
+ delete from account_role
+ where id = #{id,jdbcType=INTEGER}
+ </delete>
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/MenuMapper.xml b/src/main/resources/mapper/MenuMapper.xml
new file mode 100644
index 0000000..4674c35
--- /dev/null
+++ b/src/main/resources/mapper/MenuMapper.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.moral.mapper.MenuMapper">
+ <resultMap id="BaseResultMap" type="com.moral.entity.Menu">
+ <id column="id" property="id" jdbcType="INTEGER"/>
+ <result column="menu_code" property="menuCode" jdbcType="VARCHAR"/>
+ <result column="menu_name" property="menuName" jdbcType="VARCHAR"/>
+ <result column="menu_icon" property="menuIcon" jdbcType="VARCHAR"/>
+ <result column="menu_url" property="menuUrl" jdbcType="VARCHAR"/>
+ <result column="menu_order" property="menuOrder" jdbcType="INTEGER"/>
+ <result column="menu_parent_id" property="menuParentId" jdbcType="INTEGER"/>
+ <result column="menu_remark" property="menuRemark" jdbcType="VARCHAR"/>
+ <result column="is_delete" property="isDelete" jdbcType="CHAR"/>
+ <result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
+ <result column="create_user" property="createUser" jdbcType="VARCHAR"/>
+ <result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/>
+ <result column="update_user" property="updateUser" jdbcType="VARCHAR"/>
+ </resultMap>
+
+ <sql id="Example_Where_Clause">
+ <where>
+ <foreach collection="oredCriteria" item="criteria" separator="or">
+ <if test="criteria.valid">
+ <trim prefix="(" suffix=")" prefixOverrides="and">
+ <foreach collection="criteria.criteria" item="criterion">
+ <choose>
+ <when test="criterion.noValue">
+ and ${criterion.condition}
+ </when>
+ <when test="criterion.singleValue">
+ and ${criterion.condition} #{criterion.value}
+ </when>
+ <when test="criterion.betweenValue">
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+ </when>
+ <when test="criterion.listValue">
+ and ${criterion.condition}
+ <foreach collection="criterion.value" item="listItem" open="(" close=")"
+ separator=",">
+ #{listItem}
+ </foreach>
+ </when>
+ </choose>
+ </foreach>
+ </trim>
+ </if>
+ </foreach>
+ </where>
+ </sql>
+
+ <select id="selectWithMenuNameByExample" parameterType="tk.mybatis.mapper.entity.Example" resultMap="BaseResultMap">
+ select
+ <if test="distinct">
+ distinct
+ </if>
+ <include refid="Base_Column_List"/>
+ from menu
+ <if test="_parameter != null">
+ <include refid="Example_Where_Clause"/>
+ </if>
+ <if test="orderByClause != null">
+ order by ${orderByClause}
+ </if>
+ </select>
+
+ <select id="getMenuList" resultMap="BaseResultMap" parameterType="tk.mybatis.mapper.entity.Example">
+ select
+ <if test="distinct">
+ distinct
+ </if>
+ <include refid="Base_Column_List"/>
+ from menu
+ <if test="_parameter != null">
+ <include refid="Example_Where_Clause"/>
+ </if>
+ <if test="orderByClause != null">
+ order by ${orderByClause}
+ </if>
+ </select>
+
+ <sql id="Base_Column_List">
+ id, menu_code, menu_name, menu_icon, menu_url, menu_order, menu_parent_id, menu_remark,
+ is_delete, create_time, create_user, update_time, update_user
+ </sql>
+
+ <select id="getParentMenuList" resultMap="BaseResultMap">
+ select
+ distinct
+ <include refid="Base_Column_List"/>
+ from menu
+ where id IN
+ (select distinct(menu_parent_Id) from menu
+ where menu_parent_Id is not null)
+ <if test="menuName != 'null'">
+ and menu_name like concat('%',#{menuName},'%')
+ </if>
+ </select>
+
+ <select id="getMenuListByName" resultMap="BaseResultMap">
+ select
+ <include refid="Base_Column_List"/>
+ from menu
+ where is_delete=0
+ <if test="menuName != 'null'">
+ and menu_name like concat('%',#{menuName},'%')
+ </if>
+ </select>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/RoleMapper.xml b/src/main/resources/mapper/RoleMapper.xml
new file mode 100644
index 0000000..a45d1c3
--- /dev/null
+++ b/src/main/resources/mapper/RoleMapper.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.moral.mapper.RoleMapper">
+
+ <resultMap id="BaseResultMap" type="com.moral.entity.Role">
+ <id column="id" property="id" jdbcType="INTEGER"/>
+ <result column="role_code" property="roleCode" jdbcType="VARCHAR"/>
+ <result column="role_name" property="roleName" jdbcType="VARCHAR"/>
+ <result column="is_delete" property="isDelete" jdbcType="CHAR"/>
+ <result column="role_remark" property="roleRemark" jdbcType="VARCHAR"/>
+ <result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
+ <result column="create_user" property="createUser" jdbcType="VARCHAR"/>
+ <result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/>
+ <result column="update_user" property="updateUser" jdbcType="VARCHAR"/>
+ </resultMap>
+
+ <sql id="Base_Column_List">
+ id, role_code, role_name, is_delete, role_remark, create_time, create_user, update_time,
+ update_user
+ </sql>
+
+ <insert id="insertSelective" parameterType="com.moral.entity.Role">
+ insert into role
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ id,
+ </if>
+ <if test="roleCode != null">
+ role_code,
+ </if>
+ <if test="roleName != null">
+ role_name,
+ </if>
+ <if test="isDelete != null">
+ is_delete,
+ </if>
+ <if test="roleRemark != null">
+ role_remark,
+ </if>
+ <if test="createTime != null">
+ create_time,
+ </if>
+ <if test="createUser != null">
+ create_user,
+ </if>
+ <if test="updateTime != null">
+ update_time,
+ </if>
+ <if test="updateUser != null">
+ update_user,
+ </if>
+ </trim>
+ <trim prefix="values (" suffix=")" suffixOverrides=",">
+ <if test="id != null">
+ #{id,jdbcType=INTEGER},
+ </if>
+ <if test="roleCode != null">
+ #{roleCode,jdbcType=VARCHAR},
+ </if>
+ <if test="roleName != null">
+ #{roleName,jdbcType=VARCHAR},
+ </if>
+ <if test="isDelete != null">
+ #{isDelete,jdbcType=CHAR},
+ </if>
+ <if test="roleRemark != null">
+ #{roleRemark,jdbcType=VARCHAR},
+ </if>
+ <if test="createTime != null">
+ #{createTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="createUser != null">
+ #{createUser,jdbcType=VARCHAR},
+ </if>
+ <if test="updateTime != null">
+ #{updateTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="updateUser != null">
+ #{updateUser,jdbcType=VARCHAR},
+ </if>
+ </trim>
+ </insert>
+ <update id="updateByPrimaryKeySelective" parameterType="com.moral.entity.Role">
+ update role
+ <set>
+ <if test="roleName != null">
+ role_name=#{roleName,jdbcType=VARCHAR},
+ </if>
+ <if test="roleCode != null">
+ role_code=#{roleCode,jdbcType=VARCHAR},
+ </if>
+ <if test="roleRemark != null">
+ role_remark=#{roleRemark,jdbcType=VARCHAR},
+ </if>
+ <if test="updateTime != null">
+ update_time=#{updateTime,jdbcType=TIMESTAMP},
+ </if>
+ <if test="updateUser != null">
+ update_user=#{updateUser,jdbcType=VARCHAR},
+ </if>
+ </set>
+ where id = #{id,jdbcType=INTEGER}
+ </update>
+
+ <select id="getRoleList" resultMap="BaseResultMap">
+ select
+ <include refid="Base_Column_List"/>
+ from role
+ where is_delete=0
+ <if test="roleName != 'null'">
+ and role_name like concat('%',#{roleName},'%')
+ </if>
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/RoleMenuMapper.xml b/src/main/resources/mapper/RoleMenuMapper.xml
new file mode 100644
index 0000000..e75534b
--- /dev/null
+++ b/src/main/resources/mapper/RoleMenuMapper.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.moral.mapper.RoleMenuMapper">
+
+ <resultMap id="ResultMap" type="com.moral.entity.RoleMenu" >
+ <id column="id" property="id" jdbcType="INTEGER" />
+ <result column="role_id" property="roleId" jdbcType="INTEGER" />
+ <result column="menu_id" property="menuId" jdbcType="INTEGER" />
+ </resultMap>
+
+ <resultMap id="BaseResultMap" type="com.moral.entity.RoleMenu" extends="ResultMap">
+ <association property="role" javaType="com.moral.entity.Role">
+ <result column="role_id" property="id" jdbcType="INTEGER" />
+ <result column="role_name" property="roleName" jdbcType="VARCHAR" />
+ </association>
+ <association property="menu" javaType="com.moral.entity.Menu">
+ <result column="menu_id" property="id" jdbcType="INTEGER"/>
+ <result column="menu_name" property="menuName" jdbcType="VARCHAR"/>
+ </association>
+ </resultMap>
+
+ <sql id="Example_Where_Clause" >
+ <where >
+ <foreach collection="oredCriteria" item="criteria" separator="or" >
+ <if test="criteria.valid" >
+ <trim prefix="(" suffix=")" prefixOverrides="and" >
+ <foreach collection="criteria.criteria" item="criterion" >
+ <choose >
+ <when test="criterion.noValue" >
+ and ${criterion.condition}
+ </when>
+ <when test="criterion.singleValue" >
+ and ${criterion.condition} #{criterion.value}
+ </when>
+ <when test="criterion.betweenValue" >
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+ </when>
+ <when test="criterion.listValue" >
+ and ${criterion.condition}
+ <foreach collection="criterion.value" item="listItem" open="(" close=")" separator="," >
+ #{listItem}
+ </foreach>
+ </when>
+ </choose>
+ </foreach>
+ </trim>
+ </if>
+ </foreach>
+ </where>
+ </sql>
+
+ <select id="getRoleMenuList" resultMap="BaseResultMap">
+ select
+ rm.*,
+ r.role_name,
+ m.menu_name
+ from role_menu rm
+ left join role r on rm.role_id = r.id
+ left join menu m on rm.menu_id = m.id
+ <if test="_parameter != null">
+ <include refid="Example_Where_Clause"/>
+ </if>
+ <if test="orderByClause != null">
+ order by ${orderByClause}
+ </if>
+ </select>
+
+ <update id="updateByPrimaryKey" parameterType="com.moral.entity.RoleMenu" >
+ update role_menu
+ set role_id = #{roleId,jdbcType=INTEGER},
+ menu_id = #{menuId,jdbcType=INTEGER}
+ where id = #{id,jdbcType=INTEGER}
+ </update>
+
+ <delete id="deleteByPrimaryKeyOwn" parameterType="java.lang.Integer" >
+ delete from role_menu
+ where id = #{id,jdbcType=INTEGER}
+ </delete>
+
+</mapper>
\ No newline at end of file
--
Gitblit v1.8.0