/parkingos_cloud_web/src/com/zld/struts/city/CityParkAccountAction.java

https://github.com/ParkingOS/ParkingOS_cloud · Java · 146 lines · 136 code · 10 blank · 0 comment · 36 complexity · 6d8795372efc6ddca6e29d14864c5489 MD5 · raw file

  1. package com.zld.struts.city;
  2. import com.zld.AjaxUtil;
  3. import com.zld.impl.CommonMethods;
  4. import com.zld.impl.MongoDbUtils;
  5. import com.zld.impl.PublicMethods;
  6. import com.zld.service.DataBaseService;
  7. import com.zld.service.PgOnlyReadService;
  8. import com.zld.utils.JsonUtil;
  9. import com.zld.utils.RequestUtil;
  10. import com.zld.utils.SqlInfo;
  11. import org.apache.struts.action.Action;
  12. import org.apache.struts.action.ActionForm;
  13. import org.apache.struts.action.ActionForward;
  14. import org.apache.struts.action.ActionMapping;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import javax.servlet.http.HttpServletRequest;
  17. import javax.servlet.http.HttpServletResponse;
  18. import java.util.ArrayList;
  19. import java.util.List;
  20. import java.util.Map;
  21. public class CityParkAccountAction extends Action {
  22. @Autowired
  23. private DataBaseService daService;
  24. @Autowired
  25. private PgOnlyReadService pgOnlyReadService;
  26. @Autowired
  27. private CommonMethods commonMethods;
  28. @Autowired
  29. private PublicMethods publicMethods;
  30. @Autowired
  31. private MongoDbUtils mongoDbUtils;
  32. @SuppressWarnings({ "rawtypes", "unused" })
  33. @Override
  34. public ActionForward execute(ActionMapping mapping, ActionForm form,
  35. HttpServletRequest request, HttpServletResponse response)
  36. throws Exception {
  37. String action = RequestUtil.getString(request, "action");
  38. Long uin = (Long)request.getSession().getAttribute("loginuin");//登录的用户id
  39. request.setAttribute("authid", request.getParameter("authid"));
  40. Long cityid = (Long)request.getSession().getAttribute("cityid");
  41. Long groupid = (Long)request.getSession().getAttribute("groupid");
  42. if(uin == null){
  43. response.sendRedirect("login.do");
  44. return null;
  45. }
  46. if(cityid == null && groupid == null){
  47. return null;
  48. }
  49. if(cityid == null) cityid = -1L;
  50. if(groupid == null) groupid = -1L;
  51. if(action.equals("")){
  52. return mapping.findForward("list");
  53. }else if(action.equals("query")){
  54. String sql = "select a.*,w.state from park_account_tb a left join withdrawer_tb w on a.withdraw_id=w.id where " ;
  55. String countSql = "select count(a.*) from park_account_tb a left join withdrawer_tb w on a.withdraw_id=w.id where " ;
  56. String fieldsstr = RequestUtil.processParams(request, "fieldsstr");
  57. Integer pageNum = RequestUtil.getInteger(request, "page", 1);
  58. Integer pageSize = RequestUtil.getInteger(request, "rp", 20);
  59. SqlInfo sqlInfo = RequestUtil.customSearch(request,"park_account","a", new String[]{"state"});
  60. SqlInfo sqlInfo1 = getSuperSqlInfo(request);
  61. List list = null;
  62. Long count = 0L;
  63. List<Object> params = new ArrayList<Object>();
  64. List<Object> parks = null;
  65. if(cityid > 0){
  66. parks = commonMethods.getparks(cityid);
  67. }else if(groupid > 0){
  68. parks = commonMethods.getParks(groupid);
  69. }
  70. if(parks != null && !parks.isEmpty()){
  71. String preParams ="";
  72. for(Object parkid : parks){
  73. if(preParams.equals(""))
  74. preParams ="?";
  75. else
  76. preParams += ",?";
  77. }
  78. sql += " a.comid in ("+preParams+") ";
  79. countSql += " a.comid in ("+preParams+") ";
  80. params.addAll(parks);
  81. if(sqlInfo!=null){
  82. countSql+=" and "+ sqlInfo.getSql();
  83. sql +=" and "+sqlInfo.getSql();
  84. params.addAll(sqlInfo.getParams());
  85. }
  86. if(sqlInfo1 != null){
  87. countSql+=" and "+ sqlInfo1.getSql();
  88. sql +=" and "+sqlInfo1.getSql();
  89. params.addAll(sqlInfo1.getParams());
  90. }
  91. count = daService.getCount(countSql,params);
  92. if(count>0){
  93. list = daService.getAll(sql +" order by a.create_time desc ",params, pageNum, pageSize);
  94. }
  95. }
  96. setList(list);
  97. String json = JsonUtil.Map2Json(list,pageNum,count, fieldsstr,"id");
  98. AjaxUtil.ajaxOutput(response, json);
  99. }
  100. return null;
  101. }
  102. private SqlInfo getSuperSqlInfo(HttpServletRequest request){
  103. Integer state = RequestUtil.getInteger(request, "state_start", -1);
  104. SqlInfo sqlInfo1 = null;
  105. if(state > -1){
  106. sqlInfo1 = new SqlInfo(" w.state=? ",new Object[]{state});
  107. }
  108. return sqlInfo1;
  109. }
  110. private void setList(List<Map<String, Object>> list){
  111. if(list != null && !list.isEmpty()){
  112. List<Object> uids = new ArrayList<Object>();
  113. String preParams ="";
  114. for(Map<String, Object> map : list){
  115. uids.add(map.get("uid"));
  116. if(preParams.equals(""))
  117. preParams ="?";
  118. else
  119. preParams += ",?";
  120. }
  121. List<Map<String, Object>> list2 = pgOnlyReadService.getAllMap("select id,nickname from user_info_tb where id in ("+preParams+") ", uids);
  122. if(list2 != null && !list2.isEmpty()){
  123. for(Map<String, Object> map : list){
  124. Long uid = (Long)map.get("uid");
  125. for(Map<String, Object> map2 : list2){
  126. Long id = (Long)map2.get("id");
  127. if(uid.intValue() == id.intValue()){
  128. map.put("nickname", map2.get("nickname"));
  129. break;
  130. }
  131. }
  132. }
  133. }
  134. }
  135. }
  136. }