adminManagerAction.java 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460
  1. package com.happy.action;
  2. import com.google.gson.Gson;
  3. import com.google.gson.reflect.TypeToken;
  4. import com.happy.Model.AdminManager;
  5. import com.happy.Model.AdminManager;
  6. import com.happy.Model.AdminPower;
  7. import com.happy.Model.File;
  8. import com.happy.Until.GetHttpParam;
  9. import com.happy.Until.PwdDefind;
  10. import com.happy.Until.ResUtil;
  11. import com.happy.Until.UUIDUtil;
  12. import com.happy.dto.IPage;
  13. import com.happy.service.AdminManagerService;
  14. import com.happy.service.AdminService;
  15. import com.happy.service.FileService;
  16. import com.opensymphony.xwork2.ActionSupport;
  17. import net.sf.json.JSONObject;
  18. import org.apache.struts2.ServletActionContext;
  19. import org.apache.struts2.interceptor.ServletRequestAware;
  20. import javax.annotation.Resource;
  21. import javax.servlet.http.HttpServletRequest;
  22. import javax.servlet.http.HttpServletResponse;
  23. import java.util.List;
  24. public class adminManagerAction extends ActionSupport implements ServletRequestAware{
  25. private HttpServletRequest request;
  26. public HttpServletResponse response;
  27. @Resource
  28. public AdminService adminService;
  29. @Resource
  30. public AdminManagerService adminManagerService;
  31. @Resource
  32. public FileService fileService;
  33. public String adminName;
  34. public String password;
  35. public String hotelTownship;
  36. public Integer id;
  37. public int page; // 当前页
  38. public int rows;// 每页显示的行数rows
  39. public HttpServletRequest getRequest() {
  40. return request;
  41. }
  42. public void setRequest(HttpServletRequest request) {
  43. this.request = request;
  44. }
  45. public void setServletRequest(HttpServletRequest request) {
  46. this.request = request;
  47. }
  48. public HttpServletResponse getResponse() {
  49. return response;
  50. }
  51. public void setResponse(HttpServletResponse response) {
  52. this.response = response;
  53. }
  54. /**
  55. * 描述:登录
  56. * @return
  57. */
  58. public String loginAdmin() {
  59. JSONObject resultJson = new JSONObject();
  60. StringBuilder getOneSqlx = new StringBuilder("");
  61. getOneSqlx.append(" and admin_name = '").append(adminName).append("'")
  62. .append(" and password = '").append(password).append("'");
  63. AdminManager login = adminManagerService.getOen(getOneSqlx.toString());
  64. if (login != null) {
  65. login.setPassword("********");
  66. resultJson.put("message", "登录成功");
  67. resultJson.put("code", 200);
  68. resultJson.put("data", login);
  69. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  70. return null;
  71. }
  72. resultJson.put("message", "用户名或密码错误");
  73. resultJson.put("code", 205);
  74. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  75. return null;
  76. }
  77. /**
  78. * 描述:新增民宿端账号
  79. * @return
  80. */
  81. public String insertAdmin() {
  82. JSONObject resultJson = new JSONObject();
  83. Gson gson = new Gson();
  84. com.alibaba.fastjson.JSONObject json = GetHttpParam.getRequestParameters(request);
  85. if (json == null) {
  86. resultJson.put("message", "请传入参数");
  87. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  88. return null;
  89. }
  90. AdminManager admin = null;
  91. try {
  92. admin = gson.fromJson(json.toString(), new TypeToken<AdminManager>() {}.getType());
  93. if (admin == null) {
  94. resultJson.put("message", "数据为空");
  95. resultJson.put("code", 500);
  96. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  97. return null;
  98. }
  99. if (admin.getAdminName()==null || admin.getHotelName()==null || admin.getHotelTownship()==null
  100. || admin.getLevel()==null || admin.getCardName()==null || admin.getCorpnPhone()==null){
  101. resultJson.put("message", "各参数不能为空");
  102. resultJson.put("code", 500);
  103. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  104. return null;
  105. }
  106. if (!PwdDefind.vertify(admin.getPassword())){
  107. resultJson.put("message", "密码至少包含:大小写英文字母、数字、特殊符号,密码长度大于8位,小于20位");
  108. resultJson.put("code", 500);
  109. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  110. return null;
  111. }
  112. StringBuilder getOneSqlx = new StringBuilder("");
  113. getOneSqlx.append(" and admin_name = '").append(admin.getAdminName()).append("'");
  114. AdminManager listc = adminManagerService.getOen(getOneSqlx.toString());
  115. if (listc != null) {
  116. resultJson.put("message", "该用户已存在");
  117. resultJson.put("code", 500);
  118. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  119. return null;
  120. }
  121. admin.setId(Math.toIntExact(UUIDUtil.generateID()));
  122. //保存详细图附件
  123. if(admin.getFileList()!=null && admin.getFileList().size()>0){
  124. if(admin.getId()!= null){
  125. fileService.delLinkFile(admin.getId());
  126. }
  127. for(File file : admin.getFileList()){
  128. file.setLinkId(admin.getId());
  129. fileService.insertFile(file);
  130. }
  131. }else{
  132. resultJson.put("message", "请上传详细图");
  133. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  134. return null;
  135. }
  136. int m = adminManagerService.insertAdmin(admin);
  137. if (m > 0) {
  138. resultJson.put("message", "添加成功");
  139. resultJson.put("code", 200);
  140. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  141. return null;
  142. } else {
  143. resultJson.put("message", "添加失败");
  144. resultJson.put("code", 502);
  145. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  146. return null;
  147. }
  148. } catch (Exception e) {
  149. e.printStackTrace();
  150. }
  151. resultJson.put("message", "未知异常");
  152. resultJson.put("code", 205);
  153. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  154. return null;
  155. }
  156. /**
  157. * 描述:修改管理端管理员账号
  158. * @return
  159. */
  160. public String updateAdmin() {
  161. JSONObject resultJson = new JSONObject();
  162. Gson gson = new Gson();
  163. com.alibaba.fastjson.JSONObject json = GetHttpParam.getRequestParameters(request);
  164. if (json == null) {
  165. resultJson.put("message", "请传入参数");
  166. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  167. return null;
  168. }
  169. AdminManager admin = null;
  170. try {
  171. admin = gson.fromJson(json.toString(), new TypeToken<AdminManager>() {}.getType());
  172. if (admin == null) {
  173. resultJson.put("message", "数据为空");
  174. resultJson.put("code", 500);
  175. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  176. return null;
  177. }
  178. if(admin.getId()==null){
  179. resultJson.put("message", "修改用户Id不能为空");
  180. resultJson.put("code", 500);
  181. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  182. return null;
  183. }
  184. if (admin.getAdminName()==null || admin.getHotelName()==null || admin.getHotelTownship()==null
  185. || admin.getLevel()==null || admin.getCardName()==null || admin.getCorpnPhone()==null){
  186. resultJson.put("message", "各参数不能为空");
  187. resultJson.put("code", 500);
  188. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  189. return null;
  190. }
  191. if (!PwdDefind.vertify(admin.getPassword())){
  192. resultJson.put("message", "密码至少包含:大小写英文字母、数字、特殊符号,密码长度大于8位,小于20位");
  193. resultJson.put("code", 500);
  194. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  195. return null;
  196. }
  197. StringBuilder getOneSqlx = new StringBuilder("");
  198. getOneSqlx.append(" and admin_name = '").append(admin.getAdminName()).append("'");
  199. getOneSqlx.append(" and id != '").append(admin.getId()).append("'");
  200. AdminManager listc = adminManagerService.getOen(getOneSqlx.toString());
  201. if (listc != null) {
  202. resultJson.put("message", "该用户已存在");
  203. resultJson.put("code", 500);
  204. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  205. return null;
  206. }
  207. int m = adminManagerService.updateAdmin(admin);
  208. if (m > 0) {
  209. resultJson.put("message", "修改成功");
  210. resultJson.put("code", 200);
  211. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  212. return null;
  213. } else {
  214. resultJson.put("message", "修改失败");
  215. resultJson.put("code", 502);
  216. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  217. return null;
  218. }
  219. } catch (Exception e) {
  220. e.printStackTrace();
  221. }
  222. resultJson.put("message", "未知异常");
  223. resultJson.put("code", 205);
  224. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  225. return null;
  226. }
  227. /**
  228. * 描述:删除
  229. * @return
  230. */
  231. public String delAdmin(){
  232. JSONObject resultJson = new JSONObject();
  233. if (id == null) {
  234. resultJson.put("message", "请传入id");
  235. resultJson.put("code", 500);
  236. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  237. return null;
  238. }
  239. int m = adminManagerService.delAdmin(id);
  240. if (m > 0) {
  241. resultJson.put("message", "删除成功");
  242. resultJson.put("code", 200);
  243. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  244. return null;
  245. }
  246. resultJson.put("message", "未知异常");
  247. resultJson.put("code", 205);
  248. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  249. return null;
  250. }
  251. /**
  252. * 描述:重置密码
  253. * @return
  254. */
  255. public String removePwd(){
  256. JSONObject resultJson = new JSONObject();
  257. if (id == null) {
  258. resultJson.put("message", "请传入id");
  259. resultJson.put("code", 500);
  260. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  261. return null;
  262. }
  263. AdminManager admin = adminManagerService.getById(id);
  264. if (admin != null && !"".equals(admin)) {
  265. admin.setPassword("Jams123456");
  266. int m = adminManagerService.updateAdmin(admin);
  267. if(m > 0){
  268. resultJson.put("message", "重置成功");
  269. resultJson.put("code", 200);
  270. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  271. return null;
  272. }else{
  273. resultJson.put("message", "重置失败");
  274. resultJson.put("code", 502);
  275. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  276. return null;
  277. }
  278. }
  279. resultJson.put("message", "未知异常");
  280. resultJson.put("code", 205);
  281. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  282. return null;
  283. }
  284. /**
  285. * 描述:冻结账号
  286. * @return
  287. */
  288. public String freezeAdmin(){
  289. JSONObject resultJson = new JSONObject();
  290. if (id == null) {
  291. resultJson.put("message", "请传入id");
  292. resultJson.put("code", 500);
  293. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  294. return null;
  295. }
  296. AdminManager admin = adminManagerService.getById(id);
  297. if (admin != null && !"".equals(admin)) {
  298. admin.setStatus(0);
  299. int m = adminManagerService.updateAdmin(admin);
  300. if(m > 0){
  301. resultJson.put("message", "冻结成功");
  302. resultJson.put("code", 200);
  303. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  304. return null;
  305. }else{
  306. resultJson.put("message", "冻结失败");
  307. resultJson.put("code", 502);
  308. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  309. return null;
  310. }
  311. }
  312. resultJson.put("message", "未知异常");
  313. resultJson.put("code", 205);
  314. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  315. return null;
  316. }
  317. /**
  318. * 描述:解冻账号
  319. * @return
  320. */
  321. public String thawAdmin(){
  322. JSONObject resultJson = new JSONObject();
  323. if (id == null) {
  324. resultJson.put("message", "请传入id");
  325. resultJson.put("code", 500);
  326. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  327. return null;
  328. }
  329. AdminManager admin = adminManagerService.getById(id);
  330. if (admin != null && !"".equals(admin)) {
  331. admin.setStatus(1);
  332. int m = adminManagerService.updateAdmin(admin);
  333. if(m > 0){
  334. resultJson.put("message", "解冻成功");
  335. resultJson.put("code", 200);
  336. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  337. return null;
  338. }else{
  339. resultJson.put("message", "解冻成功");
  340. resultJson.put("code", 502);
  341. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  342. return null;
  343. }
  344. }
  345. resultJson.put("message", "未知异常");
  346. resultJson.put("code", 205);
  347. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  348. return null;
  349. }
  350. /**
  351. * 描述:分页查询
  352. * @return
  353. */
  354. public String queryPage(){
  355. JSONObject resultJson = new JSONObject();
  356. StringBuilder s1 = new StringBuilder("");
  357. if (adminName!=null){
  358. s1.append(" and admin_name like '%").append(adminName).append("%'");
  359. }
  360. if (hotelTownship!=null){
  361. s1.append(" and hotel_township like '%").append(hotelTownship).append("'");
  362. }
  363. IPage<AdminManager> adminIPage = adminManagerService.queryPage(s1.toString(),page,rows);
  364. if(adminIPage!=null && !"".equals(adminIPage)){
  365. resultJson.put("message", "查询分页成功");
  366. resultJson.put("code", 200);
  367. resultJson.put("date", adminIPage);
  368. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  369. }else{
  370. resultJson.put("message", "查询分页失败");
  371. resultJson.put("code", 500);
  372. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  373. }
  374. return null;
  375. }
  376. /**
  377. * 描述:根据Id查询详细
  378. * @return
  379. */
  380. public String getById(){
  381. JSONObject resultJson = new JSONObject();
  382. if (id == null) {
  383. resultJson.put("message", "请传入id");
  384. resultJson.put("code", 500);
  385. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  386. return null;
  387. }
  388. AdminManager admin = adminManagerService.getById(id);
  389. if (admin != null) {
  390. resultJson.put("message", "查询成功");
  391. resultJson.put("code", 200);
  392. resultJson.put("date", admin);
  393. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  394. return null;
  395. }else{
  396. resultJson.put("message", "未查到用户信息");
  397. resultJson.put("code", 500);
  398. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  399. return null;
  400. }
  401. }
  402. /**
  403. * 描述:查询菜单
  404. * @return
  405. */
  406. public String getIndexList(){
  407. JSONObject resultjson = new JSONObject();
  408. StringBuilder s1 = new StringBuilder("");
  409. if (id==null){
  410. resultjson.put("message", "请传入用户Id");
  411. resultjson.put("code", 500);
  412. ResUtil.writeJson(ServletActionContext.getResponse(), resultjson.toString());
  413. return null;
  414. }
  415. AdminManager admin = adminManagerService.getById(id);
  416. if (admin==null){
  417. resultjson.put("message", "未查到用户信息");
  418. resultjson.put("code", 500);
  419. ResUtil.writeJson(ServletActionContext.getResponse(), resultjson.toString());
  420. return null;
  421. }
  422. String ids = admin.getAdminPower();
  423. s1.append(" and id in (").append(ids).append(") ");
  424. List<AdminPower> lpower = adminService.queryTree(s1.toString());
  425. if (lpower!=null){
  426. resultjson.put("message", "返回成功");
  427. resultjson.put("code", 200);
  428. resultjson.put("data",lpower);
  429. ResUtil.writeJson(ServletActionContext.getResponse(), resultjson.toString());
  430. return null;
  431. }
  432. resultjson.put("message", "数据为空");
  433. resultjson.put("code", 205);
  434. ResUtil.writeJson(ServletActionContext.getResponse(), resultjson.toString());
  435. return null;
  436. }
  437. }