PermissionServiceImpl.java 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336
  1. package com.goafanti.permission.service.impl;
  2. import java.lang.reflect.InvocationTargetException;
  3. import java.util.ArrayList;
  4. import java.util.Date;
  5. import java.util.HashMap;
  6. import java.util.List;
  7. import java.util.Map;
  8. import java.util.Set;
  9. import java.util.UUID;
  10. import org.apache.commons.beanutils.BeanUtils;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Service;
  13. import com.goafanti.common.dao.PermissionMapper;
  14. import com.goafanti.common.dao.RolePermissionMapper;
  15. import com.goafanti.common.dao.UserMapper;
  16. import com.goafanti.common.dao.UserRoleMapper;
  17. import com.goafanti.common.model.Permission;
  18. import com.goafanti.core.mybatis.BaseMybatisDao;
  19. import com.goafanti.core.shiro.token.TokenManager;
  20. import com.goafanti.permission.service.PermissionService;
  21. import com.goafanti.permission.bo.Menu;
  22. import com.goafanti.permission.bo.Navigation;
  23. import com.goafanti.permission.bo.PermissionBo;
  24. import com.goafanti.permission.bo.SubMenu;
  25. @Service
  26. public class PermissionServiceImpl extends BaseMybatisDao<PermissionMapper> implements PermissionService {
  27. @Autowired
  28. PermissionMapper permissionMapper;
  29. @Autowired
  30. UserMapper userMapper;
  31. @Autowired
  32. RolePermissionMapper rolePermissionMapper;
  33. @Autowired
  34. UserRoleMapper userRoleMapper;
  35. @Override
  36. public int insert(List<Permission> records) {
  37. return permissionMapper.insertBatch(records);
  38. }
  39. @Override
  40. public Set<String> findPermissionByUserId(String userId) {
  41. return permissionMapper.findPermissionByUserId(userId);
  42. }
  43. @Override
  44. public List<Permission> findPermissions() {
  45. return permissionMapper.findAll();
  46. }
  47. @Override
  48. public int deleteByPrimaryKeys(List<String> ids) {
  49. rolePermissionMapper.deleteByPermissionId(ids);
  50. return permissionMapper.deleteByPrimaryKeys(ids);
  51. }
  52. @Override
  53. public int insertn(Permission record) {
  54. String id = UUID.randomUUID().toString();
  55. Date now = new Date();
  56. record.setId(id);
  57. record.setUrl(record.getUrl());
  58. record.setName(record.getName());
  59. String createId=permissionMapper.selectAdminNameById(TokenManager.getAdminId());
  60. record.setCreateId(createId);
  61. record.setCreateTime(now);
  62. record.setUpdateTime(now);
  63. record.setDeletedSign("0");
  64. int Count=permissionMapper.selectAutNoCount("PM");
  65. if(Count<10){
  66. String aut="PM0"+Count;
  67. String sid=permissionMapper.selectIdByAutNo(aut);
  68. while(sid!=null){
  69. Count=Count+1;
  70. if(Count>=10){
  71. aut="PM"+Count;
  72. }else{
  73. aut="PM0"+Count;
  74. }
  75. sid=permissionMapper.selectIdByAutNo(aut);
  76. }
  77. record.setAutNo(aut);
  78. }
  79. if(Count>=10){
  80. String aut="PM"+Count;
  81. String sid=permissionMapper.selectIdByAutNo(aut);
  82. while(sid!=null){
  83. Count=Count+1;
  84. aut="PM"+Count;
  85. sid=permissionMapper.selectIdByAutNo(aut);
  86. }
  87. record.setAutNo(aut);
  88. }
  89. record.setHierarchies("1");//1第一层
  90. record.setStatus("0");//0正常 1解除
  91. record.setShowOrder("0");//0
  92. record.setSuperId(permissionMapper.selectIdByName("平台超级模块"));//顶级为PM
  93. permissionMapper.insertn(record);
  94. return 1;
  95. }
  96. @Override
  97. public Permission selectSuperIdById(String id) {
  98. return permissionMapper.selectSuperIdById(id);
  99. }
  100. @Override
  101. public int insertSubordinate(Permission record) {
  102. String id = UUID.randomUUID().toString();
  103. Date now = new Date();
  104. record.setId(id);
  105. record.setUrl(record.getUrl());
  106. record.setName(record.getName());
  107. String createId=permissionMapper.selectAdminNameById(TokenManager.getAdminId());
  108. record.setCreateId(createId);
  109. record.setCreateTime(now);
  110. record.setUpdateTime(now);
  111. record.setDeletedSign("0");
  112. String autNo=permissionMapper.selectAutNoByNamei(record.getSuperId());
  113. int Count=permissionMapper.selectAutNoCount(record.getSuperId());
  114. if(Count<10){
  115. String aut=autNo+"0"+Count;
  116. String sid=permissionMapper.selectIdByAutNo(aut);
  117. while(sid!=null){
  118. Count=Count+1;
  119. if(Count>=10){
  120. aut=autNo+Count;
  121. }else{
  122. aut=autNo+"0"+Count;
  123. }
  124. sid=permissionMapper.selectIdByAutNo(aut);
  125. }
  126. record.setAutNo(aut);
  127. }
  128. if(Count>=10){
  129. String aut=autNo+Count;
  130. String sid=permissionMapper.selectIdByAutNo(aut);
  131. while(sid!=null){
  132. Count=Count+1;
  133. aut=autNo+Count;
  134. sid=permissionMapper.selectIdByAutNo(aut);
  135. }
  136. record.setAutNo(aut);
  137. }
  138. record.setHierarchies("0");//0下层
  139. record.setStatus("0");//0正常 1解除
  140. record.setShowOrder("0");//正常
  141. record.setSuperId(permissionMapper.selectIdByName(record.getSuperId()));//上级名称
  142. permissionMapper.insertn(record);
  143. return 1;
  144. }
  145. @Override
  146. public int deleteById(String id) {
  147. permissionMapper.deleteById(id);
  148. return 1;
  149. }
  150. @Override
  151. public Permission selectAllById(String id) {
  152. Permission permission=permissionMapper.selectAllById(id);
  153. permission.setSuperId(permissionMapper.selectNameById(permission.getSuperId()));
  154. return permissionMapper.selectAllById(id);
  155. }
  156. @Override
  157. public List<Permission> selectName(String name) {
  158. return permissionMapper.selectName(name);
  159. }
  160. @Override
  161. public int updateById(Permission record) {
  162. Date now=new Date();
  163. record.setUpdateTime(now);
  164. if(record.getSuperId().equals("平台超级模块")){
  165. record.setHierarchies("1");
  166. }else{
  167. record.setHierarchies("0");
  168. }
  169. record.setSuperId(permissionMapper.selectIdByName(record.getSuperId()));
  170. String autNo=permissionMapper.selectAutNoByName(record.getSuperId());
  171. int Count=permissionMapper.selectAutNoCount(record.getSuperId());
  172. if(Count<10){
  173. String aut=autNo+"0"+Count;
  174. String sid=permissionMapper.selectIdByAutNo(aut);
  175. while(sid!=null){
  176. Count=Count+1;
  177. if(Count>=10){
  178. aut=autNo+Count;
  179. }else{
  180. aut=autNo+"0"+Count;
  181. }
  182. sid=permissionMapper.selectIdByAutNo(aut);
  183. }
  184. record.setAutNo(aut);
  185. }
  186. if(Count>=10){
  187. String aut=autNo+Count;
  188. String sid=permissionMapper.selectIdByAutNo(aut);
  189. while(sid!=null){
  190. Count=Count+1;
  191. aut=autNo+Count;
  192. sid=permissionMapper.selectIdByAutNo(aut);
  193. }
  194. record.setAutNo(aut);
  195. }
  196. permissionMapper.updateById(record);
  197. //*******下级编号修改
  198. int n=0;
  199. List<Permission> Nos =permissionMapper.selectIDNBySuperId(record.getId());
  200. for(Permission i:Nos){
  201. autNo=permissionMapper.selectAutNoByName(i.getSuperId());
  202. if(n<10){
  203. String aut=autNo+"0"+n;
  204. if(n>=10){
  205. aut=autNo+n;
  206. }else{
  207. aut=autNo+"0"+n;
  208. }
  209. i.setAutNo(aut);
  210. }
  211. if(n>=10){
  212. String aut=autNo+n;
  213. aut=autNo+n;
  214. i.setAutNo(aut);
  215. }
  216. permissionMapper.updateByNumber(i);
  217. n++;
  218. //*******下下级编号修改
  219. int m=0;
  220. List<Permission> Noss =permissionMapper.selectIDNBySuperId(i.getId());
  221. for(Permission o:Noss){
  222. autNo=permissionMapper.selectAutNoByName(o.getSuperId());
  223. if(m<10){
  224. String aut=autNo+"0"+m;
  225. if(m>=10){
  226. aut=autNo+m;
  227. }else{
  228. aut=autNo+"0"+m;
  229. }
  230. o.setAutNo(aut);
  231. }
  232. if(m>=10){
  233. String aut=autNo+m;
  234. aut=autNo+m;
  235. o.setAutNo(aut);
  236. }
  237. permissionMapper.updateByNumber(o);
  238. m++;
  239. //*******下下级编号修改
  240. int z=0;
  241. List<Permission> Nosss =permissionMapper.selectIDNBySuperId(o.getId());
  242. for(Permission p:Nosss){
  243. autNo=permissionMapper.selectAutNoByName(p.getSuperId());
  244. if(z<10){
  245. String aut=autNo+"0"+z;
  246. if(z>=10){
  247. aut=autNo+z;
  248. }else{
  249. aut=autNo+"0"+z;
  250. }
  251. p.setAutNo(aut);
  252. }
  253. if(z>=10){
  254. String aut=autNo+z;
  255. aut=autNo+z;
  256. p.setAutNo(aut);
  257. }
  258. permissionMapper.updateByNumber(p);
  259. z++;
  260. }
  261. }
  262. }
  263. return permissionMapper.updateById(record);
  264. }
  265. @Override
  266. public Map<String,Object> findPermissionsAll() {
  267. Map<String,Object> params = new HashMap<String, Object>();
  268. List<PermissionBo> one=permissionMapper.selectOneAll();
  269. for (PermissionBo i:one){
  270. i.setKey(i.getId());
  271. List<PermissionBo> two=permissionMapper.selectAllBySuperId(i.getId());
  272. for(PermissionBo o:two){
  273. o.setChildren(permissionMapper.selectAllBySuperId(o.getId()));
  274. o.setKey(o.getId());
  275. List<PermissionBo> three=permissionMapper.selectAllBySuperId(o.getId());
  276. for(PermissionBo p:three){
  277. p.setChildren(permissionMapper.selectAllBySuperId(p.getId()));
  278. p.setKey(p.getId());
  279. }
  280. o.setChildren(three);
  281. }
  282. i.setChildren(two);
  283. }
  284. params.put("one", one);
  285. return params;
  286. }
  287. @Override
  288. public List<Navigation> selectNavList(String aid){
  289. return permissionMapper.selectNavList(aid);
  290. }
  291. @Override
  292. public List<Menu> selectMenuList(String superId) {
  293. List<SubMenu> subMenus = permissionMapper.selectMenuList(superId);
  294. List<Menu> menus = new ArrayList<Menu>();
  295. try {
  296. Menu m = null;
  297. for(SubMenu sm: subMenus){
  298. m = new Menu();
  299. BeanUtils.copyProperties(m, sm);
  300. menus.add(m);
  301. }
  302. if(menus != null && menus.size()>0){
  303. for(Menu menu: menus){
  304. subMenus = permissionMapper.selectMenuList(menu.getId());
  305. menu.setSubMenus(subMenus);
  306. }
  307. }
  308. } catch (IllegalAccessException | InvocationTargetException e) {
  309. e.printStackTrace();
  310. }
  311. return menus;
  312. }
  313. }