NewAdminServiceImpl.java 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303
  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 org.springframework.beans.BeanUtils;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.stereotype.Service;
  9. import com.goafanti.admin.bo.AdminDetail;
  10. import com.goafanti.admin.bo.AdminListBo;
  11. import com.goafanti.admin.service.NewAdminService;
  12. import com.goafanti.common.constant.AFTConstants;
  13. import com.goafanti.common.dao.AdminLocationMapper;
  14. import com.goafanti.common.dao.AdminMapper;
  15. import com.goafanti.common.dao.UserRoleMapper;
  16. import com.goafanti.common.model.Admin;
  17. import com.goafanti.common.utils.StringUtils;
  18. import com.goafanti.core.mybatis.BaseMybatisDao;
  19. import com.goafanti.core.mybatis.page.Pagination;
  20. import com.goafanti.core.shiro.token.TokenManager;
  21. @Service
  22. public class NewAdminServiceImpl extends BaseMybatisDao<AdminMapper> implements NewAdminService {
  23. @Autowired
  24. private AdminMapper adminMapper;
  25. @Autowired
  26. private UserRoleMapper userRoleMapper;
  27. @Autowired
  28. private AdminLocationMapper adminLocationMapper;
  29. @Override
  30. public Pagination<AdminListBo> listAdmin(AdminListBo alb, String rid, Integer pageNo, Integer pageSize) {
  31. Map<String,Object> params = new HashMap<String, Object>();
  32. if(StringUtils.isNotBlank(alb.getName())) params.put("name", alb.getName());
  33. if(StringUtils.isNotBlank(alb.getDepartmentId())) params.put("departmentId", alb.getDepartmentId());
  34. if(StringUtils.isNotBlank(rid)) params.put("rid", rid);
  35. if(StringUtils.isNotBlank(alb.getDuty())) params.put("duty",alb.getDuty());
  36. if(StringUtils.isNotBlank(alb.getPosition())) params.put("position", alb.getPosition());
  37. if(StringUtils.isNotBlank(alb.getStatus())) params.put("status", alb.getStatus());
  38. if(StringUtils.isNotBlank(alb.getMobile())) params.put("mobile", alb.getMobile());
  39. if(StringUtils.isNotBlank(alb.getSuperiorId())) params.put("superiorId", alb.getSuperiorId());
  40. @SuppressWarnings("unchecked")
  41. Pagination<AdminListBo> p=(Pagination<AdminListBo>)findPage("selectAdminListByPage","selectAdminCount",params,pageNo,pageSize);
  42. @SuppressWarnings("unchecked")
  43. List<AdminListBo> list=(List<AdminListBo>)p.getList();
  44. for(AdminListBo i:list){
  45. i.setRoles(adminMapper.selectRolesByUid(i.getId()));
  46. i.setRolesId(adminMapper.selectRolesIdByUid(i.getId()));
  47. }
  48. return p;
  49. }
  50. @Override
  51. public List<Admin> selectAllAdmin() {
  52. return adminMapper.selectAllAdmin();
  53. }
  54. @Override
  55. public Admin selectByMobile(String mobile) {
  56. return adminMapper.selectByMobile(mobile);
  57. }
  58. @Override
  59. public Admin selectByPrimaryKey(String key) {
  60. return adminMapper.selectByPrimaryKey(key);
  61. }
  62. @Override
  63. public int insert(Admin ad) {
  64. return adminMapper.insert(ad);
  65. }
  66. @Override
  67. public int updateByPrimaryKeySelective(Admin ad, List<String> roleIds) {
  68. Map<String, Object> params = new HashMap<>();
  69. params.put("uid", ad.getId());
  70. params.put("roles", roleIds);
  71. if (ad.getId() != "1") {
  72. userRoleMapper.deleteByUserId(ad.getId());
  73. if (!roleIds.isEmpty()) {
  74. userRoleMapper.insertBatch(params);
  75. }
  76. TokenManager.clearUserAuthByUserId(ad.getId());
  77. }
  78. String sdepNo=adminMapper.selectUserNoBySuperiorId(ad.getSuperiorId());
  79. int Count=adminMapper.selectCountBySuperiorId(ad.getSuperiorId());
  80. if(Count<10){
  81. String dep=sdepNo+"0"+Count;
  82. String sid=adminMapper.selectIdByUserNo(dep);
  83. while(sid!=null){
  84. Count=Count+1;
  85. if(Count>=10){
  86. dep=sdepNo+Count;
  87. }else{
  88. dep=sdepNo+"0"+Count;
  89. }
  90. sid=adminMapper.selectIdByUserNo(dep);
  91. }
  92. ad.setUserNo(dep);
  93. }
  94. if(Count>=10){
  95. String dep=sdepNo+Count;
  96. String sid=adminMapper.selectIdByUserNo(dep);
  97. while(sid!=null){
  98. Count=Count+1;
  99. dep=sdepNo+Count;
  100. sid=adminMapper.selectIdByUserNo(dep);
  101. }
  102. ad.setUserNo(dep);
  103. }
  104. int count=adminMapper.updateByPrimaryKeySelective(ad);
  105. return count;
  106. }
  107. @Override
  108. public int updateByPrimaryKey(Admin a) {
  109. return adminMapper.updateByPrimaryKeySelective(a);
  110. }
  111. @Override
  112. public AdminDetail selectAdminDetail(String id) {
  113. Admin a = adminMapper.selectByPrimaryKey(id);
  114. if (null == a) {
  115. return null;
  116. }
  117. AdminDetail ad = new AdminDetail();
  118. BeanUtils.copyProperties(a, ad);
  119. ad.setRoles(adminMapper.selectRolesByPrimaryKey(id));
  120. return null;
  121. }
  122. @Override
  123. public List<Admin> selectCognizanceConsultant() {
  124. return adminMapper.selectCognizanceConsultant();
  125. }
  126. @Override
  127. public List<Admin> selectPatentAuthor() {
  128. return adminMapper.selectPatentAuthor();
  129. }
  130. @Override
  131. public List<Admin> selectPatentPrincipal() {
  132. return adminMapper.selectPatentPrincipal();
  133. }
  134. @Override
  135. public List<Admin> selectCopyrightConsultant() {
  136. return adminMapper.selectCopyrightConsultant();
  137. }
  138. @Override
  139. public List<Admin> selectCognizancePrincipal() {
  140. return adminMapper.selectCognizancePrincipal();
  141. }
  142. @Override
  143. public List<Admin> selectCopyrightPrincipal() {
  144. return adminMapper.selectCopyrightPrincipal();
  145. }
  146. @Override
  147. public List<Admin> selectTechprojectConsultant() {
  148. return adminMapper.selectTechprojectConsultant();
  149. }
  150. @Override
  151. public List<Admin> selectTechprojectPrincipal() {
  152. return adminMapper.selectTechprojectPrincipal();
  153. }
  154. @Override
  155. public List<String> selectRoleByPrimaryKey(String uid) {
  156. return adminMapper.selectRoleByPrimaryKey(uid);
  157. }
  158. @Override
  159. public List<String> listAuditor() {
  160. return userRoleMapper.listAuditor();
  161. }
  162. @Override
  163. public Map<String, String> selectAccoutManager() {
  164. return disposeAdminList(adminMapper.selectAccoutManager());
  165. }
  166. @Override
  167. public Map<String, String> selectTechnician() {
  168. return disposeAdminList(adminMapper.selectTechnician());
  169. }
  170. @Override
  171. public Map<String, String> selectSalesman() {
  172. return disposeAdminList(adminMapper.selectSalesman());
  173. }
  174. @Override
  175. public Map<String, String> selectContractManager() {
  176. return disposeAdminList(adminMapper.selectContractManager());
  177. }
  178. @Override
  179. public Map<String, String> selectTechBroder() {
  180. return disposeAdminList(adminMapper.selectTechBroder());
  181. }
  182. @Override
  183. public int insertNewAdmin(Admin ad ,List<String> roleIds) {
  184. ad.setStatus("正常");
  185. String sdepNo=adminMapper.selectUserNoBySuperiorId(ad.getSuperiorId());
  186. int Count=adminMapper.selectCountBySuperiorId(ad.getSuperiorId());
  187. if(Count<10){
  188. String dep=sdepNo+"0"+Count;
  189. String sid=adminMapper.selectIdByUserNo(dep);
  190. while(sid!=null){
  191. Count=Count+1;
  192. if(Count>=10){
  193. dep=sdepNo+Count;
  194. }else{
  195. dep=sdepNo+"0"+Count;
  196. }
  197. sid=adminMapper.selectIdByUserNo(dep);
  198. }
  199. ad.setUserNo(dep);
  200. }
  201. if(Count>=10){
  202. String dep=sdepNo+Count;
  203. String sid=adminMapper.selectIdByUserNo(dep);
  204. while(sid!=null){
  205. Count=Count+1;
  206. dep=sdepNo+Count;
  207. sid=adminMapper.selectIdByUserNo(dep);
  208. }
  209. ad.setUserNo(dep);
  210. }
  211. Map<String, Object> params = new HashMap<>();
  212. params.put("uid", ad.getId());
  213. params.put("roles", roleIds);
  214. if (ad.getId() != "1") {
  215. userRoleMapper.deleteByUserId(ad.getId());
  216. if (!roleIds.isEmpty()) {
  217. userRoleMapper.insertBatch(params);
  218. }
  219. TokenManager.clearUserAuthByUserId(ad.getId());
  220. }
  221. return adminMapper.insertn(ad);
  222. }
  223. @Override
  224. public Map<String, String> listAdminSelect() {
  225. if (TokenManager.hasRole(AFTConstants.SUPERADMIN)) {
  226. return disposeAdminList(adminMapper.listAdminSelectBySuperAdmin());
  227. } else if (TokenManager.hasRole(AFTConstants.AREAADMIN)) {
  228. List<Integer> provinceList = adminLocationMapper
  229. .selectProvinceWhereCityIsNullByAdminId(TokenManager.getAdminId());
  230. List<Integer> cityList = adminLocationMapper.selectCityByAdminId(TokenManager.getAdminId());
  231. provinceList.addAll(cityList);
  232. return disposeAdminList(adminMapper.listAdminSelectByAreaAdmin(provinceList, cityList));
  233. }
  234. return null;
  235. }
  236. private Map<String, String> disposeAdminList(List<Admin> list) {
  237. Map<String, String> map = new TreeMap<String, String>();
  238. for (Admin o : list) {
  239. map.put(o.getId(), o.getName() + " " + (StringUtils.isBlank(o.getPosition()) ? "" : o.getPosition()));
  240. }
  241. return map;
  242. }
  243. @Override
  244. public List<Admin> listAdminByName(String name) {
  245. return adminMapper.listAdminByName(name);
  246. }
  247. @Override
  248. public Admin selectAllByid(String id) {
  249. Admin admin=adminMapper.selectAllByid(id);
  250. admin.setSuperior(adminMapper.selectNameByid(admin.getSuperiorId()));
  251. if(admin.getDistrict()==null){
  252. admin.setDistrict(" ");
  253. }
  254. if(admin.getHeadPortraitUrl()==null){
  255. admin.setHeadPortraitUrl("");
  256. }
  257. return admin;
  258. }
  259. @Override
  260. public int deleteById(String id) {
  261. adminMapper.deleteById(id);
  262. return 1;
  263. }
  264. }