PermissionServiceImpl.java 7.9 KB

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