NewAdminServiceImpl.java 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380
  1. package com.goafanti.admin.service.impl;
  2. import java.util.HashMap;
  3. import java.util.List;
  4. import java.util.Map;
  5. import java.util.TreeMap;
  6. import java.util.UUID;
  7. import org.springframework.beans.BeanUtils;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Service;
  10. import com.goafanti.admin.bo.AdminDetail;
  11. import com.goafanti.admin.bo.AdminListBo;
  12. import com.goafanti.admin.service.NewAdminService;
  13. import com.goafanti.common.constant.AFTConstants;
  14. import com.goafanti.common.dao.AdminLocationMapper;
  15. import com.goafanti.common.dao.AdminMapper;
  16. import com.goafanti.common.dao.UserRoleMapper;
  17. import com.goafanti.common.model.Admin;
  18. import com.goafanti.common.model.UserRole;
  19. import com.goafanti.common.utils.StringUtils;
  20. import com.goafanti.core.mybatis.BaseMybatisDao;
  21. import com.goafanti.core.mybatis.page.Pagination;
  22. import com.goafanti.core.shiro.token.TokenManager;
  23. @Service
  24. public class NewAdminServiceImpl extends BaseMybatisDao<AdminMapper> implements NewAdminService {
  25. @Autowired
  26. private AdminMapper adminMapper;
  27. @Autowired
  28. private UserRoleMapper userRoleMapper;
  29. @Autowired
  30. private AdminLocationMapper adminLocationMapper;
  31. @Override
  32. public Pagination<AdminListBo> listAdmin(AdminListBo alb, String rid,String roleName,Integer pageNo, Integer pageSize) {
  33. Map<String,Object> params = new HashMap<String, Object>();
  34. if(StringUtils.isNotBlank(alb.getName())) params.put("name", alb.getName());
  35. if(StringUtils.isNotBlank(roleName)) params.put("roleName", roleName);
  36. if(StringUtils.isNotBlank(alb.getDepartmentId())) params.put("departmentId", alb.getDepartmentId());
  37. if(StringUtils.isNotBlank(rid)) params.put("rid", rid);
  38. if(StringUtils.isNotBlank(alb.getDuty())) params.put("duty",alb.getDuty());
  39. if(StringUtils.isNotBlank(alb.getPosition())) params.put("position", alb.getPosition());
  40. if(StringUtils.isNotBlank(alb.getStatus())) params.put("status", alb.getStatus());
  41. if(StringUtils.isNotBlank(alb.getMobile())) params.put("mobile", alb.getMobile());
  42. if(StringUtils.isNotBlank(alb.getSuperiorId())) params.put("superiorId", alb.getSuperiorId());
  43. @SuppressWarnings("unchecked")
  44. Pagination<AdminListBo> p=(Pagination<AdminListBo>)findPage("selectAdminListByPage","selectAdminCount",params,pageNo,pageSize);
  45. @SuppressWarnings("unchecked")
  46. List<AdminListBo> list=(List<AdminListBo>)p.getList();
  47. for(AdminListBo i:list){
  48. i.setRoles(adminMapper.selectRolesByUid(i.getId()));
  49. i.setRolesId(adminMapper.selectRolesIdByUid(i.getId()));
  50. }
  51. return p;
  52. }
  53. @Override
  54. public List<Admin> selectAllAdmin() {
  55. return adminMapper.selectAllAdmin(null);
  56. }
  57. @Override
  58. public Admin selectByMobile(String mobile) {
  59. return adminMapper.selectByMobile(mobile);
  60. }
  61. @Override
  62. public Admin selectByPrimaryKey(String key) {
  63. return adminMapper.selectByPrimaryKey(key);
  64. }
  65. @Override
  66. public int insert(Admin ad) {
  67. return adminMapper.insert(ad);
  68. }
  69. @Override
  70. public int updateByPrimaryKeySelective(Admin ad, List<String> roleIds) {
  71. Map<String, Object> params = new HashMap<>();
  72. params.put("uid", ad.getId());
  73. params.put("roles", roleIds);
  74. if (ad.getId() != "1") {
  75. userRoleMapper.deleteByUserId(ad.getId());
  76. if (!roleIds.isEmpty()) {
  77. userRoleMapper.insertBatch(params);
  78. }
  79. TokenManager.clearUserAuthByUserId(ad.getId());
  80. }
  81. int count=adminMapper.updateByPrimaryKeySelective(ad);
  82. //*******下第一级管理员用户修改
  83. String autNo;
  84. int n=0;
  85. List<Admin> Nos =adminMapper.selectIDNBySuperiorId(ad.getId());
  86. /*for(Admin i:Nos){
  87. autNo=adminMapper.selectUserNoById(i.getSuperiorId());
  88. if(n<10){
  89. String aut=autNo+"0"+n;
  90. if(n>=10){
  91. aut=autNo+n;
  92. }else{
  93. aut=autNo+"0"+n;
  94. }
  95. i.setUserNo(aut);
  96. }
  97. if(n>=10){
  98. String aut=autNo+n;
  99. aut=autNo+n;
  100. i.setUserNo(aut);
  101. }
  102. adminMapper.updateByUserNo(i);
  103. n++;
  104. //*******下第二级管理员用户修改
  105. int m=0;
  106. List<Admin> Noss =adminMapper.selectIDNBySuperiorId(i.getId());
  107. for(Admin o:Noss){
  108. autNo=adminMapper.selectUserNoById(o.getSuperiorId());
  109. if(m<10){
  110. String aut=autNo+"0"+m;
  111. if(m>=10){
  112. aut=autNo+m;
  113. }else{
  114. aut=autNo+"0"+m;
  115. }
  116. o.setUserNo(aut);
  117. }
  118. if(m>=10){
  119. String aut=autNo+m;
  120. aut=autNo+m;
  121. o.setUserNo(aut);
  122. }
  123. adminMapper.updateByUserNo(o);
  124. m++;
  125. //*******下第三级管理员用户修改
  126. int z=0;
  127. List<Admin> Nosss =adminMapper.selectIDNBySuperiorId(o.getId());
  128. for(Admin p:Nosss){
  129. autNo=adminMapper.selectUserNoById(p.getSuperiorId());
  130. if(z<10){
  131. String aut=autNo+"0"+z;
  132. if(z>=10){
  133. aut=autNo+z;
  134. }else{
  135. aut=autNo+"0"+z;
  136. }
  137. p.setUserNo(aut);
  138. }
  139. if(z>=10){
  140. String aut=autNo+z;
  141. aut=autNo+z;
  142. p.setUserNo(aut);
  143. }
  144. adminMapper.updateByUserNo(p);
  145. z++;
  146. }
  147. }
  148. }*/
  149. return count;
  150. }
  151. @Override
  152. public int updateByPrimaryKey(Admin a) {
  153. return adminMapper.updateByPrimaryKeySelective(a);
  154. }
  155. @Override
  156. public AdminDetail selectAdminDetail(String id) {
  157. Admin a = adminMapper.selectByPrimaryKey(id);
  158. if (null == a) {
  159. return null;
  160. }
  161. AdminDetail ad = new AdminDetail();
  162. BeanUtils.copyProperties(a, ad);
  163. ad.setRoles(adminMapper.selectRolesByPrimaryKey(id));
  164. return null;
  165. }
  166. @Override
  167. public List<Admin> selectCognizanceConsultant() {
  168. return adminMapper.selectCognizanceConsultant();
  169. }
  170. @Override
  171. public List<Admin> selectPatentAuthor() {
  172. return adminMapper.selectPatentAuthor();
  173. }
  174. @Override
  175. public List<Admin> selectPatentPrincipal() {
  176. return adminMapper.selectPatentPrincipal();
  177. }
  178. @Override
  179. public List<Admin> selectCopyrightConsultant() {
  180. return adminMapper.selectCopyrightConsultant();
  181. }
  182. @Override
  183. public List<Admin> selectCognizancePrincipal() {
  184. return adminMapper.selectCognizancePrincipal();
  185. }
  186. @Override
  187. public List<Admin> selectCopyrightPrincipal() {
  188. return adminMapper.selectCopyrightPrincipal();
  189. }
  190. @Override
  191. public List<Admin> selectTechprojectConsultant() {
  192. return adminMapper.selectTechprojectConsultant();
  193. }
  194. @Override
  195. public List<Admin> selectTechprojectPrincipal() {
  196. return adminMapper.selectTechprojectPrincipal();
  197. }
  198. @Override
  199. public List<String> selectRoleByPrimaryKey(String uid) {
  200. return adminMapper.selectRoleByPrimaryKey(uid);
  201. }
  202. @Override
  203. public List<String> listAuditor() {
  204. return userRoleMapper.listAuditor();
  205. }
  206. @Override
  207. public Map<String, String> selectAccoutManager() {
  208. return disposeAdminList(adminMapper.selectAccoutManager());
  209. }
  210. @Override
  211. public Map<String, String> selectTechnician() {
  212. return disposeAdminList(adminMapper.selectTechnician());
  213. }
  214. @Override
  215. public Map<String, String> selectSalesman() {
  216. return disposeAdminList(adminMapper.selectSalesman());
  217. }
  218. @Override
  219. public Map<String, String> selectContractManager() {
  220. return disposeAdminList(adminMapper.selectContractManager());
  221. }
  222. @Override
  223. public Map<String, String> selectTechBroder() {
  224. return disposeAdminList(adminMapper.selectTechBroder());
  225. }
  226. @Override
  227. public int insertNewAdmin(Admin ad ,List<String> roleIds) {
  228. ad.setStatus("正常");
  229. ad.setId(UUID.randomUUID().toString());
  230. /*String sdepNo=adminMapper.selectUserNoBySuperiorId(ad.getSuperiorId());
  231. int Count=adminMapper.selectCountBySuperiorId(ad.getSuperiorId());
  232. if(Count<10){
  233. String dep=sdepNo+"0"+Count;
  234. String sid=adminMapper.selectIdByUserNo(dep);
  235. while(sid!=null){
  236. Count=Count+1;
  237. if(Count>=10){
  238. dep=sdepNo+Count;
  239. }else{
  240. dep=sdepNo+"0"+Count;
  241. }
  242. sid=adminMapper.selectIdByUserNo(dep);
  243. }
  244. ad.setUserNo(dep);
  245. }
  246. if(Count>=10){
  247. String dep=sdepNo+Count;
  248. String sid=adminMapper.selectIdByUserNo(dep);
  249. while(sid!=null){
  250. Count=Count+1;
  251. dep=sdepNo+Count;
  252. sid=adminMapper.selectIdByUserNo(dep);
  253. }
  254. ad.setUserNo(dep);
  255. } */
  256. Map<String, Object> params = new HashMap<>();
  257. params.put("uid", ad.getId());
  258. params.put("roles", roleIds);
  259. if (ad.getId() != "1") {
  260. userRoleMapper.deleteByUserId(ad.getId());
  261. if (!roleIds.isEmpty()) {
  262. userRoleMapper.insertBatch(params);
  263. }
  264. TokenManager.clearUserAuthByUserId(ad.getId());
  265. }
  266. return adminMapper.insertn(ad);
  267. }
  268. @Override
  269. public Map<String, String> listAdminSelect() {
  270. if (TokenManager.hasRole(AFTConstants.SUPERADMIN)) {
  271. return disposeAdminList(adminMapper.listAdminSelectBySuperAdmin());
  272. } else if (TokenManager.hasRole(AFTConstants.AREAADMIN)) {
  273. List<Integer> provinceList = adminLocationMapper
  274. .selectProvinceWhereCityIsNullByAdminId(TokenManager.getAdminId());
  275. List<Integer> cityList = adminLocationMapper.selectCityByAdminId(TokenManager.getAdminId());
  276. provinceList.addAll(cityList);
  277. return disposeAdminList(adminMapper.listAdminSelectByAreaAdmin(provinceList, cityList));
  278. }
  279. return null;
  280. }
  281. private Map<String, String> disposeAdminList(List<Admin> list) {
  282. Map<String, String> map = new TreeMap<String, String>();
  283. for (Admin o : list) {
  284. map.put(o.getId(), o.getName() + " " + (StringUtils.isBlank(o.getPosition()) ? "" : o.getPosition()));
  285. }
  286. return map;
  287. }
  288. @Override
  289. public List<Admin> listAdminByName(String name) {
  290. return adminMapper.listAdminByName(name);
  291. }
  292. @Override
  293. public Admin selectAllByid(String id) {
  294. Admin admin=adminMapper.selectAllByid(id);
  295. admin.setSuperior(adminMapper.selectNameByid(admin.getSuperiorId()));
  296. if(admin.getDistrict()==null){
  297. admin.setDistrict(" ");
  298. }
  299. if(admin.getHeadPortraitUrl()==null){
  300. admin.setHeadPortraitUrl("");
  301. }
  302. return admin;
  303. }
  304. @Override
  305. public int deleteById(String id) {
  306. adminMapper.deleteById(id);
  307. if(id!="1"){
  308. userRoleMapper.deleteByUserId(id);
  309. }
  310. return 1;
  311. }
  312. @Override
  313. public List<AdminListBo> selectAdminByOrg() {
  314. return adminMapper.selectSubList(TokenManager.getAdminId());
  315. }
  316. @Override
  317. public boolean checkAdminRole(List<String> roles, Admin admin) {
  318. List<UserRole> list=userRoleMapper. selectAdminRole(AFTConstants.CONSULTANT_MANAGER);
  319. if (!roles.isEmpty()) {
  320. for (String s : roles) {
  321. if (list.size()>0) {
  322. if (null==admin) {
  323. if (list.get(0).getRid().equals(s)) {
  324. return true;
  325. }
  326. }else {
  327. if (list.get(0).getRid().equals(s)&&!list.get(0).getUid().equals((admin.getId()))) {
  328. return true;
  329. }
  330. }
  331. }
  332. }
  333. }
  334. return false;
  335. }
  336. }