NewAdminServiceImpl.java 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  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. }
  47. return p;
  48. }
  49. @Override
  50. public List<Admin> selectAllAdmin() {
  51. return adminMapper.selectAllAdmin();
  52. }
  53. @Override
  54. public Admin selectByMobile(String mobile) {
  55. return adminMapper.selectByMobile(mobile);
  56. }
  57. @Override
  58. public Admin selectByPrimaryKey(String key) {
  59. return adminMapper.selectByPrimaryKey(key);
  60. }
  61. @Override
  62. public int insert(Admin ad) {
  63. return adminMapper.insert(ad);
  64. }
  65. @Override
  66. public int updateByPrimaryKeySelective(Admin ad, List<String> roleIds) {
  67. Map<String, Object> params = new HashMap<>();
  68. params.put("uid", ad.getId());
  69. params.put("roles", roleIds);
  70. if (ad.getId() != "1") {
  71. userRoleMapper.deleteByUserId(ad.getId());
  72. if (!roleIds.isEmpty()) {
  73. userRoleMapper.insertBatch(params);
  74. }
  75. TokenManager.clearUserAuthByUserId(ad.getId());
  76. }
  77. String sdepNo=adminMapper.selectUserNoBySuperiorId(ad.getSuperiorId());
  78. int Count=adminMapper.selectCountBySuperiorId(ad.getSuperiorId());
  79. if(Count<10){
  80. String dep=sdepNo+"0"+Count;
  81. String sid=adminMapper.selectIdByUserNo(dep);
  82. while(sid!=null){
  83. Count=Count+1;
  84. if(Count>=10){
  85. dep=sdepNo+Count;
  86. }else{
  87. dep=sdepNo+"0"+Count;
  88. }
  89. sid=adminMapper.selectIdByUserNo(dep);
  90. }
  91. ad.setUserNo(dep);
  92. }
  93. if(Count>=10){
  94. String dep=sdepNo+Count;
  95. String sid=adminMapper.selectIdByUserNo(dep);
  96. while(sid!=null){
  97. Count=Count+1;
  98. dep=sdepNo+Count;
  99. sid=adminMapper.selectIdByUserNo(dep);
  100. }
  101. ad.setUserNo(dep);
  102. }
  103. int count=adminMapper.updateByPrimaryKeySelective(ad);
  104. return count;
  105. }
  106. @Override
  107. public int updateByPrimaryKey(Admin a) {
  108. return adminMapper.updateByPrimaryKeySelective(a);
  109. }
  110. @Override
  111. public AdminDetail selectAdminDetail(String id) {
  112. Admin a = adminMapper.selectByPrimaryKey(id);
  113. if (null == a) {
  114. return null;
  115. }
  116. AdminDetail ad = new AdminDetail();
  117. BeanUtils.copyProperties(a, ad);
  118. ad.setRoles(adminMapper.selectRolesByPrimaryKey(id));
  119. return null;
  120. }
  121. @Override
  122. public List<Admin> selectCognizanceConsultant() {
  123. return adminMapper.selectCognizanceConsultant();
  124. }
  125. @Override
  126. public List<Admin> selectPatentAuthor() {
  127. return adminMapper.selectPatentAuthor();
  128. }
  129. @Override
  130. public List<Admin> selectPatentPrincipal() {
  131. return adminMapper.selectPatentPrincipal();
  132. }
  133. @Override
  134. public List<Admin> selectCopyrightConsultant() {
  135. return adminMapper.selectCopyrightConsultant();
  136. }
  137. @Override
  138. public List<Admin> selectCognizancePrincipal() {
  139. return adminMapper.selectCognizancePrincipal();
  140. }
  141. @Override
  142. public List<Admin> selectCopyrightPrincipal() {
  143. return adminMapper.selectCopyrightPrincipal();
  144. }
  145. @Override
  146. public List<Admin> selectTechprojectConsultant() {
  147. return adminMapper.selectTechprojectConsultant();
  148. }
  149. @Override
  150. public List<Admin> selectTechprojectPrincipal() {
  151. return adminMapper.selectTechprojectPrincipal();
  152. }
  153. @Override
  154. public List<String> selectRoleByPrimaryKey(String uid) {
  155. return adminMapper.selectRoleByPrimaryKey(uid);
  156. }
  157. @Override
  158. public List<String> listAuditor() {
  159. return userRoleMapper.listAuditor();
  160. }
  161. @Override
  162. public Map<String, String> selectAccoutManager() {
  163. return disposeAdminList(adminMapper.selectAccoutManager());
  164. }
  165. @Override
  166. public Map<String, String> selectTechnician() {
  167. return disposeAdminList(adminMapper.selectTechnician());
  168. }
  169. @Override
  170. public Map<String, String> selectSalesman() {
  171. return disposeAdminList(adminMapper.selectSalesman());
  172. }
  173. @Override
  174. public Map<String, String> selectContractManager() {
  175. return disposeAdminList(adminMapper.selectContractManager());
  176. }
  177. @Override
  178. public Map<String, String> selectTechBroder() {
  179. return disposeAdminList(adminMapper.selectTechBroder());
  180. }
  181. @Override
  182. public int insertNewAdmin(Admin ad ,List<String> roleIds) {
  183. ad.setStatus("正常");
  184. String sdepNo=adminMapper.selectUserNoBySuperiorId(ad.getSuperiorId());
  185. int Count=adminMapper.selectCountBySuperiorId(ad.getSuperiorId());
  186. if(Count<10){
  187. String dep=sdepNo+"0"+Count;
  188. String sid=adminMapper.selectIdByUserNo(dep);
  189. while(sid!=null){
  190. Count=Count+1;
  191. if(Count>=10){
  192. dep=sdepNo+Count;
  193. }else{
  194. dep=sdepNo+"0"+Count;
  195. }
  196. sid=adminMapper.selectIdByUserNo(dep);
  197. }
  198. ad.setUserNo(dep);
  199. }
  200. if(Count>=10){
  201. String dep=sdepNo+Count;
  202. String sid=adminMapper.selectIdByUserNo(dep);
  203. while(sid!=null){
  204. Count=Count+1;
  205. dep=sdepNo+Count;
  206. sid=adminMapper.selectIdByUserNo(dep);
  207. }
  208. ad.setUserNo(dep);
  209. }
  210. Map<String, Object> params = new HashMap<>();
  211. params.put("uid", ad.getId());
  212. params.put("roles", roleIds);
  213. if (ad.getId() != "1") {
  214. userRoleMapper.deleteByUserId(ad.getId());
  215. if (!roleIds.isEmpty()) {
  216. userRoleMapper.insertBatch(params);
  217. }
  218. TokenManager.clearUserAuthByUserId(ad.getId());
  219. }
  220. return adminMapper.insertn(ad);
  221. }
  222. @Override
  223. public Map<String, String> listAdminSelect() {
  224. if (TokenManager.hasRole(AFTConstants.SUPERADMIN)) {
  225. return disposeAdminList(adminMapper.listAdminSelectBySuperAdmin());
  226. } else if (TokenManager.hasRole(AFTConstants.AREAADMIN)) {
  227. List<Integer> provinceList = adminLocationMapper
  228. .selectProvinceWhereCityIsNullByAdminId(TokenManager.getAdminId());
  229. List<Integer> cityList = adminLocationMapper.selectCityByAdminId(TokenManager.getAdminId());
  230. provinceList.addAll(cityList);
  231. return disposeAdminList(adminMapper.listAdminSelectByAreaAdmin(provinceList, cityList));
  232. }
  233. return null;
  234. }
  235. private Map<String, String> disposeAdminList(List<Admin> list) {
  236. Map<String, String> map = new TreeMap<String, String>();
  237. for (Admin o : list) {
  238. map.put(o.getId(), o.getName() + " " + (StringUtils.isBlank(o.getPosition()) ? "" : o.getPosition()));
  239. }
  240. return map;
  241. }
  242. @Override
  243. public List<Admin> listAdminByName(String name) {
  244. return adminMapper.listAdminByName(name);
  245. }
  246. @Override
  247. public Admin selectAllByid(String id) {
  248. Admin admin=adminMapper.selectAllByid(id);
  249. admin.setSuperior(adminMapper.selectNameByid(admin.getSuperiorId()));
  250. if(admin.getDistrict()==null){
  251. admin.setDistrict(" ");
  252. }
  253. if(admin.getHeadPortraitUrl()==null){
  254. admin.setHeadPortraitUrl("");
  255. }
  256. return admin;
  257. }
  258. }