AdminServiceImpl.java 8.4 KB

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