AdminServiceImpl.java 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325
  1. package com.goafanti.admin.service.impl;
  2. import java.util.ArrayList;
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import java.util.Map;
  6. import java.util.TreeMap;
  7. import javax.annotation.Resource;
  8. import org.springframework.beans.BeanUtils;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Service;
  11. import com.goafanti.admin.bo.AdminDetail;
  12. import com.goafanti.admin.bo.AdminListBo;
  13. import com.goafanti.admin.service.AdminService;
  14. import com.goafanti.common.constant.AFTConstants;
  15. import com.goafanti.common.dao.AdminLocationMapper;
  16. import com.goafanti.common.dao.AdminMapper;
  17. import com.goafanti.common.dao.UserMapper;
  18. import com.goafanti.common.dao.UserRoleMapper;
  19. import com.goafanti.common.model.Admin;
  20. import com.goafanti.common.utils.LoggerUtils;
  21. import com.goafanti.common.utils.PasswordUtil;
  22. import com.goafanti.common.utils.StringUtils;
  23. import com.goafanti.core.mybatis.BaseMybatisDao;
  24. import com.goafanti.core.mybatis.page.Pagination;
  25. import com.goafanti.core.shiro.token.TokenManager;
  26. import com.goafanti.customer.bo.LockingReleaseBo;
  27. @Service
  28. public class AdminServiceImpl extends BaseMybatisDao<AdminMapper> implements AdminService {
  29. @Autowired
  30. private AdminMapper adminMapper;
  31. @Autowired
  32. private UserRoleMapper userRoleMapper;
  33. @Autowired
  34. private AdminLocationMapper adminLocationMapper;
  35. @Resource(name = "passwordUtil")
  36. private PasswordUtil passwordUtil;
  37. @Override
  38. public List<Admin> selectAllAdmin() {
  39. return adminMapper.selectAllAdmin(null);
  40. }
  41. @Override
  42. public Admin selectByMobile(String mobile) {
  43. return adminMapper.selectByMobile(mobile);
  44. }
  45. @Override
  46. public Admin selectByPrimaryKey(String key) {
  47. return adminMapper.selectByPrimaryKey(key);
  48. }
  49. @SuppressWarnings("unchecked")
  50. @Override
  51. public Pagination<AdminListBo> listAdmin(Integer province, Integer number, String mobile, String name,
  52. Integer pageNo, Integer pageSize) {
  53. Map<String, Object> params = new HashMap<>();
  54. if (StringUtils.isNotBlank(mobile)) {
  55. params.put("mobile", mobile);
  56. }
  57. if (StringUtils.isNotBlank(name)) {
  58. params.put("name", name);
  59. }
  60. if (null != number) {
  61. params.put("number", number);
  62. }
  63. if (pageNo == null || pageNo < 0) {
  64. pageNo = 1;
  65. }
  66. if (pageSize == null || pageSize < 0 || pageSize > 10) {
  67. pageSize = 10;
  68. }
  69. if (province != null) {
  70. params.put("province", province);
  71. }
  72. return (Pagination<AdminListBo>) findPage("findAdminListByPage", "findAdminCount", params, pageNo,
  73. pageSize);
  74. }
  75. @Override
  76. public int insert(Admin ad) {
  77. return adminMapper.insert(ad);
  78. }
  79. @Override
  80. public int updateByPrimaryKeySelective(Admin ad, List<String> roleIds) {
  81. Map<String, Object> params = new HashMap<>();
  82. params.put("uid", ad.getId());
  83. params.put("roles", roleIds);
  84. if (ad.getId() != "1") {
  85. userRoleMapper.deleteByUserId(ad.getId());
  86. if (!roleIds.isEmpty()) {
  87. userRoleMapper.insertBatch(params);
  88. }
  89. TokenManager.clearUserAuthByUserId(ad.getId());
  90. }
  91. return adminMapper.updateByPrimaryKeySelective(ad);
  92. }
  93. @Override
  94. public int updateByPrimaryKey(Admin a) {
  95. return adminMapper.updateByPrimaryKeySelective(a);
  96. }
  97. @Override
  98. public AdminDetail selectAdminDetail(String id) {
  99. Admin a = adminMapper.selectByPrimaryKey(id);
  100. if (null == a) {
  101. return null;
  102. }
  103. AdminDetail ad = new AdminDetail();
  104. BeanUtils.copyProperties(a, ad);
  105. ad.setRoles(adminMapper.selectRolesByPrimaryKey(id));
  106. return null;
  107. }
  108. @Override
  109. public List<Admin> selectCognizanceConsultant() {
  110. return adminMapper.selectCognizanceConsultant();
  111. }
  112. @Override
  113. public List<Admin> selectPatentAuthor() {
  114. return adminMapper.selectPatentAuthor();
  115. }
  116. @Override
  117. public List<Admin> selectPatentPrincipal() {
  118. return adminMapper.selectPatentPrincipal();
  119. }
  120. @Override
  121. public List<Admin> selectCopyrightConsultant() {
  122. return adminMapper.selectCopyrightConsultant();
  123. }
  124. @Override
  125. public List<Admin> selectCognizancePrincipal() {
  126. return adminMapper.selectCognizancePrincipal();
  127. }
  128. @Override
  129. public List<Admin> selectCopyrightPrincipal() {
  130. return adminMapper.selectCopyrightPrincipal();
  131. }
  132. @Override
  133. public List<Admin> selectTechprojectConsultant() {
  134. return adminMapper.selectTechprojectConsultant();
  135. }
  136. @Override
  137. public List<Admin> selectTechprojectPrincipal() {
  138. return adminMapper.selectTechprojectPrincipal();
  139. }
  140. @Override
  141. public List<String> selectRoleByPrimaryKey(String uid) {
  142. return adminMapper.selectRoleByPrimaryKey(uid);
  143. }
  144. @Override
  145. public List<String> listAuditor() {
  146. return userRoleMapper.listAuditor();
  147. }
  148. @Override
  149. public Map<String, String> selectAccoutManager() {
  150. return disposeAdminList(adminMapper.selectAccoutManager());
  151. }
  152. @Override
  153. public Map<String, String> selectTechnician() {
  154. return disposeAdminList(adminMapper.selectTechnician());
  155. }
  156. @Override
  157. public Map<String, String> selectSalesman() {
  158. return disposeAdminList(adminMapper.selectSalesman());
  159. }
  160. @Override
  161. public Map<String, String> selectContractManager() {
  162. return disposeAdminList(adminMapper.selectContractManager());
  163. }
  164. @Override
  165. public Map<String, String> selectTechBroder() {
  166. return disposeAdminList(adminMapper.selectTechBroder());
  167. }
  168. @Override
  169. public int insertNewAdmin(Admin ad) {
  170. return adminMapper.insert(ad);
  171. }
  172. @Override
  173. public Map<String, String> listAdminSelect() {
  174. if (TokenManager.hasRole(AFTConstants.SUPERADMIN)) {
  175. return disposeAdminList(adminMapper.listAdminSelectBySuperAdmin());
  176. } else if (TokenManager.hasRole(AFTConstants.AREAADMIN)) {
  177. List<Integer> provinceList = adminLocationMapper
  178. .selectProvinceWhereCityIsNullByAdminId(TokenManager.getAdminId());
  179. List<Integer> cityList = adminLocationMapper.selectCityByAdminId(TokenManager.getAdminId());
  180. provinceList.addAll(cityList);
  181. return disposeAdminList(adminMapper.listAdminSelectByAreaAdmin(provinceList, cityList));
  182. }
  183. return null;
  184. }
  185. private Map<String, String> disposeAdminList(List<Admin> list) {
  186. Map<String, String> map = new TreeMap<String, String>();
  187. for (Admin o : list) {
  188. map.put(o.getId(), o.getName());
  189. }
  190. return map;
  191. }
  192. @Override
  193. public List<Admin> listAdminByName(String name) {
  194. return adminMapper.listAdminByName(name);
  195. }
  196. @Override
  197. public List<AdminListBo> selectDepartmentStaff(String departmentId, String name) {
  198. return adminMapper.selectDepartmentStaff( departmentId, name);
  199. }
  200. @Override
  201. public int updateLockAdmin() {
  202. int count=0;
  203. List<Admin> list=adminMapper.selectAllAdmin(null);//获取所有用户
  204. List<List<Admin>>aList=groupList(list);//拆分成多个
  205. String lockIds = "";
  206. for(List<Admin> al:aList){
  207. for (Admin a : al) {
  208. String pwd=a.getPassword();
  209. a.setPassword("123456");
  210. String pwd2=passwordUtil.getEncryptPwd(a);
  211. if (pwd.equals(pwd2)) {
  212. lockIds += a.getId() + ",";
  213. }
  214. }
  215. if(lockIds.length()>0){
  216. try {
  217. lockIds = "'" + lockIds.substring(0,lockIds.length()-1).replace(",", "','") + "'";
  218. count+= adminMapper.updateLockIds(lockIds);
  219. lockIds = "";
  220. Thread.sleep(1000);
  221. } catch (InterruptedException e) {
  222. LoggerUtils.error(getClass(), "未修改管理员锁定失败", e);
  223. }
  224. }
  225. }
  226. return count;
  227. }
  228. /*
  229. * List分割
  230. */
  231. public List<List<Admin>> groupList(List<Admin> list) {
  232. List<List<Admin>> listGroup = new ArrayList<List<Admin>>();
  233. int listSize = list.size();
  234. //子集合的长度
  235. int toIndex = 100;
  236. for (int i = 0; i < list.size(); i += toIndex) {
  237. if (i + toIndex > listSize) {
  238. toIndex = listSize - i;
  239. }
  240. List<Admin> newList = list.subList(i, i + toIndex);
  241. listGroup.add(newList);
  242. }
  243. return listGroup;
  244. }
  245. /* public static void main(String[] args) {
  246. List<String> list=new ArrayList<>();
  247. for (int i = 1; i < 888; i++) {
  248. list.add(String.valueOf(i));
  249. }
  250. List<List<String>> listGroup = new ArrayList<List<String>>();
  251. int listSize = list.size();
  252. //子集合的长度
  253. int toIndex = 100;
  254. for (int i = 0; i < list.size(); i += 100) {
  255. if (i + 100 > listSize) {
  256. toIndex = listSize - i;
  257. }
  258. List<String> newList = list.subList(i, i + toIndex);
  259. listGroup.add(newList);
  260. }
  261. System.out.println(listGroup);
  262. }*/
  263. @Override
  264. public List<Admin> getListDefaultPassword(String depId) {
  265. List<Admin> list=adminMapper.selectAllAdmin(depId);
  266. List<Admin> list2=new ArrayList<>();
  267. for (Admin a : list) {
  268. String pwd=a.getPassword();
  269. a.setPassword("123456");
  270. String pwd2=passwordUtil.getEncryptPwd(a);
  271. if (pwd.equals(pwd2)) {
  272. list2.add(a);
  273. }
  274. }
  275. return list2;
  276. }
  277. }