DwsAnswerAction.java 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468
  1. package com.key.dwsurvey.action.survey;
  2. import com.key.common.QuType;
  3. import com.key.common.base.action.CrudActionSupport;
  4. import com.key.common.base.entity.User;
  5. import com.key.common.base.service.AccountManager;
  6. import com.key.common.plugs.ipaddr.IPService;
  7. import com.key.common.utils.CookieUtils;
  8. import com.key.common.utils.HttpRequestDeviceUtils;
  9. import com.key.common.utils.NumberUtils;
  10. import com.key.common.utils.web.Struts2Utils;
  11. import com.key.dwsurvey.entity.*;
  12. import com.key.dwsurvey.service.SurveyAnswerManager;
  13. import com.key.dwsurvey.service.SurveyDirectoryManager;
  14. import com.octo.captcha.service.image.ImageCaptchaService;
  15. import com.opensymphony.xwork2.ActionSupport;
  16. import org.apache.struts2.convention.annotation.*;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.web.util.WebUtils;
  19. import javax.servlet.http.Cookie;
  20. import javax.servlet.http.HttpServletRequest;
  21. import javax.servlet.http.HttpServletResponse;
  22. import java.util.Date;
  23. import java.util.HashMap;
  24. import java.util.Map;
  25. /**
  26. * 问卷 action
  27. * @author KeYuan(keyuan258@gmail.com)
  28. *
  29. * https://github.com/wkeyuan/DWSurvey
  30. * http://www.dwsurvey.net
  31. *
  32. */
  33. @Namespaces({ @Namespace("/") })
  34. @InterceptorRefs({ @InterceptorRef(value = "paramsPrepareParamsStack") })
  35. @Results({
  36. @Result(name = DwsAnswerAction.RESULT_FREQUENCY, location = "/WEB-INF/page/surveydir/survey/stats/response-frequency.jsp", type = Struts2Utils.DISPATCHER),
  37. @Result(name = CrudActionSupport.INPUT, location = "/WEB-INF/page/surveydir/survey/response/response-survey.jsp", type = Struts2Utils.DISPATCHER),
  38. @Result(name = DwsAnswerAction.INPUT_IFRAME, location = "/WEB-INF/page/surveydir/survey/response/response-answer-iframe.jsp", type = Struts2Utils.DISPATCHER),
  39. @Result(name = DwsAnswerAction.ANSWER_SUCCESS, location = "/WEB-INF/page/content/diaowen-answer/response-success.jsp", type = Struts2Utils.DISPATCHER),
  40. @Result(name = DwsAnswerAction.ANSWER_FAILURE, location = "/WEB-INF/page/content/diaowen-answer/response-failure.jsp", type = Struts2Utils.DISPATCHER),
  41. @Result(name = DwsAnswerAction.ANSWER_SUCCESS_M, location = "/WEB-INF/page/content/diaowen-answer/response-success-m.jsp", type = Struts2Utils.DISPATCHER),
  42. @Result(name = DwsAnswerAction.ANSWER_INPUT_RULE, location = "/WEB-INF/page/content/diaowen-answer/response-input-rule.jsp", type = Struts2Utils.DISPATCHER),
  43. @Result(name = DwsAnswerAction.ANSWER_ERROR, location = "/WEB-INF/page/content/diaowen-answer/response-input-error.jsp", type = Struts2Utils.DISPATCHER),
  44. @Result(name = DwsAnswerAction.ANSWER_ERROR_M, location = "/WEB-INF/page/content/diaowen-answer/response-input-error-m.jsp", type = Struts2Utils.DISPATCHER),
  45. @Result(name = DwsAnswerAction.ANSWER_CODE_ERROR, location = "/dwsurvey/${sid}.html?errorcode=3", type = Struts2Utils.REDIRECT),
  46. @Result(name = DwsAnswerAction.ANSWER_CODE_ERROR_M, location = "/survey!answerSurveryMobile.action?surveyId=${surveyId}&errorcode=3", type = Struts2Utils.REDIRECT),
  47. @Result(name = DwsAnswerAction.RELOAD_ANSWER_SUCCESS, location = "dws-answer!answerSuccess.action?sid=${sid}", type = Struts2Utils.REDIRECT),
  48. @Result(name = DwsAnswerAction.RELOAD_ANSWER_FAILURE, location = "dws-answer!answerFailure.action?surveyId=${surveyId}", type = Struts2Utils.REDIRECT),
  49. @Result(name = DwsAnswerAction.RELOAD_ANSER_ERROR, location = "dws-answer!answerError.action?surveyId=${surveyId}", type = Struts2Utils.REDIRECT),
  50. @Result(name = DwsAnswerAction.RELOAD_ANSER_ERROR_M, location = "dws-answer!answerErrorM.action?surveyId=${surveyId}", type = Struts2Utils.REDIRECT),
  51. @Result(name = DwsAnswerAction.RESPONSE_MSG, location = "/WEB-INF/page/content/diaowen-answer/response-msg.jsp", type = Struts2Utils.DISPATCHER),
  52. @Result(name = DwsAnswerAction.RELOAD_ANSWER_SUCCESS_M, location = "dws-answer!answerSuccessM.action?surveyId=${surveyId}", type = Struts2Utils.REDIRECT),
  53. @Result(name = DwsAnswerAction.RESPONSE_MOBILE, location = "dws-answer!answerMobile.action?surveyId=${surveyId}", type = Struts2Utils.REDIRECT) })
  54. @AllowedMethods({"saveMobile","answerSuccess","answerMobile","answerFailure","answerError","answerSuccessM","ajaxCheckSurvey"})
  55. public class DwsAnswerAction extends ActionSupport {
  56. private static final long serialVersionUID = -2289729314160067840L;
  57. protected static final String RESULT_FREQUENCY = "resultFrequency";
  58. protected final static String INPUT_IFRAME = "input_iframe";
  59. protected final static String ANSWER_SUCCESS = "answerSuccess";
  60. protected final static String ANSWER_FAILURE = "answerFailure";
  61. protected final static String ANSWER_ERROR = "answerError";
  62. protected final static String ANSWER_ERROR_M = "answerErrorM";
  63. protected final static String ANSWER_SUCCESS_M = "answerSuccessM";
  64. protected final static String RELOAD_ANSWER_SUCCESS = "reloadAnswerSuccess";
  65. protected final static String RELOAD_ANSWER_FAILURE = "reloadAnswerFailure";
  66. protected final static String RELOAD_ANSER_ERROR = "reloadAnserError";
  67. protected final static String RELOAD_ANSER_ERROR_M = "reloadAnserErrorM";
  68. protected final static String ANSWER_CODE_ERROR = "answerCodeError";
  69. protected final static String ANSWER_CODE_ERROR_M = "answerCodeErrorM";
  70. protected final static String ANSWER_INPUT_RULE = "answer_input_rule";
  71. protected final static String RELOAD_ANSWER_SUCCESS_M = "reloadAnswerSuccessM";
  72. protected final static String SURVEY_RESULT = "surveyResult";
  73. protected final static String RESPONSE_MSG = "responseMsg";
  74. protected final static String RESPONSE_MOBILE = "responseMobile";
  75. private String sid;
  76. private String surveyId;
  77. @Autowired
  78. private SurveyAnswerManager surveyAnswerManager;
  79. @Autowired
  80. private SurveyDirectoryManager directoryManager;
  81. @Autowired
  82. private IPService ipService;
  83. @Autowired
  84. private AccountManager accountManager;
  85. @Autowired
  86. private ImageCaptchaService imageCaptchaService;
  87. public String execute() throws Exception {
  88. HttpServletRequest request = Struts2Utils.getRequest();
  89. HttpServletResponse response = Struts2Utils.getResponse();
  90. SurveyDirectory directory = directoryManager.getSurveyBySid(sid);
  91. if (directory != null) {
  92. surveyId = directory.getId();
  93. String filterStatus = filterStatus(directory,request);
  94. if(filterStatus!=null){
  95. return filterStatus;
  96. }
  97. if (HttpRequestDeviceUtils.isMobileDevice(request)) {
  98. return RESPONSE_MOBILE;
  99. } else {
  100. String htmlPath = directory.getHtmlPath();
  101. request.getRequestDispatcher("/" + htmlPath).forward(request,
  102. response);
  103. }
  104. }
  105. return NONE;
  106. }
  107. private String filterStatus(SurveyDirectory directory,HttpServletRequest request){
  108. SurveyDetail surveyDetail = directory.getSurveyDetail();
  109. int rule = surveyDetail.getRule();
  110. Integer ynEndNum = surveyDetail.getYnEndNum();
  111. Integer endNum = surveyDetail.getEndNum();
  112. Integer ynEndTime = surveyDetail.getYnEndTime();
  113. Date endTime = surveyDetail.getEndTime();
  114. Integer anserNum = directory.getAnswerNum();
  115. if (directory.getSurveyQuNum() <= 0
  116. || directory.getSurveyState() != 1 ||
  117. (anserNum!=null && ynEndNum==1 && anserNum > endNum ) ||
  118. (endTime!=null && ynEndTime==1 && endTime.getTime() < (new Date().getTime())) ){
  119. request.setAttribute("surveyName", "目前该问卷已暂停收集,请稍后再试");
  120. request.setAttribute("msg", "目前该问卷已暂停收集,请稍后再试");
  121. return RESPONSE_MSG;
  122. }
  123. if (2 == rule) {
  124. request.setAttribute("msg", "rule2");
  125. return RELOAD_ANSER_ERROR;
  126. } else if (3 == rule) {
  127. String ruleCode = request.getParameter("ruleCode");
  128. String surveyRuleCode = surveyDetail.getRuleCode();
  129. if (ruleCode == null || !ruleCode.equals(surveyRuleCode)) {
  130. return ANSWER_INPUT_RULE;
  131. }
  132. }
  133. return null;
  134. }
  135. public String answerMobile() throws Exception {
  136. HttpServletRequest request = Struts2Utils.getRequest();
  137. HttpServletResponse response = Struts2Utils.getResponse();
  138. SurveyDirectory directory = directoryManager.getSurvey(surveyId);
  139. if (directory != null) {
  140. String filterStatus = filterStatus(directory,request);
  141. if(filterStatus!=null){
  142. return filterStatus;
  143. }
  144. String htmlPath = directory.getHtmlPath();
  145. htmlPath = htmlPath.substring(0,htmlPath.lastIndexOf("/"));
  146. response.setContentType("text/html;charset=utf-8");
  147. request.getRequestDispatcher("/" + htmlPath+"/m_"+surveyId+".html").forward(request,response);
  148. return NONE;
  149. }
  150. return NONE;
  151. }
  152. public String save() throws Exception {
  153. HttpServletRequest request = Struts2Utils.getRequest();
  154. HttpServletResponse response = Struts2Utils.getResponse();
  155. String formFrom = request.getParameter("form-from");
  156. try {
  157. String ipAddr = ipService.getIp(request);
  158. long ipNum = surveyAnswerManager.getCountByIp(surveyId, ipAddr);
  159. SurveyDirectory directory = directoryManager.getSurvey(surveyId);
  160. SurveyDetail surveyDetail = directory.getSurveyDetail();
  161. int refreshNum = surveyDetail.getRefreshNum();
  162. User user = accountManager.getCurUser();
  163. SurveyAnswer entity = new SurveyAnswer();
  164. if (user != null) {
  165. entity.setUserId(user.getId());
  166. }
  167. Cookie cookie = CookieUtils.getCookie(request, surveyId);
  168. Integer effectiveIp = surveyDetail.getEffectiveIp();
  169. Integer effective = surveyDetail.getEffective();
  170. if ((effective != null && effective > 1 && cookie != null) || (effectiveIp != null && effectiveIp == 1 && ipNum > 0)) {
  171. return RELOAD_ANSER_ERROR;
  172. }
  173. if (ipNum >= refreshNum) {
  174. String code = request.getParameter("jcaptchaInput");
  175. if (!imageCaptchaService.validateResponseForID(request.getSession().getId(), code)) {
  176. return ANSWER_CODE_ERROR;
  177. }
  178. }
  179. Map<String, Map<String, Object>> quMaps = buildSaveSurveyMap(request);
  180. String addr = ipService.getCountry(ipAddr);
  181. String city = ipService.getCurCityByCountry(addr);
  182. entity.setIpAddr(ipAddr);
  183. entity.setAddr(addr);
  184. entity.setCity(city);
  185. entity.setSurveyId(surveyId);
  186. entity.setDataSource(0);
  187. surveyAnswerManager.saveAnswer(entity, quMaps);
  188. int effe = surveyDetail.getEffectiveTime();
  189. CookieUtils.addCookie(response, surveyId, (ipNum + 1) + "",
  190. effe * 60, "/");
  191. } catch (Exception e) {
  192. e.printStackTrace();
  193. return RELOAD_ANSWER_FAILURE;
  194. }
  195. return RELOAD_ANSWER_SUCCESS;
  196. }
  197. public String saveMobile() throws Exception {
  198. HttpServletRequest request = Struts2Utils.getRequest();
  199. HttpServletResponse response = Struts2Utils.getResponse();
  200. try {
  201. String ipAddr = ipService.getIp(request);
  202. long ipNum = surveyAnswerManager.getCountByIp(surveyId, ipAddr);
  203. SurveyDirectory directory = directoryManager.getSurvey(surveyId);
  204. SurveyDetail surveyDetail = directory.getSurveyDetail();
  205. int refreshNum = surveyDetail.getRefreshNum();
  206. User user = accountManager.getCurUser();
  207. SurveyAnswer entity = new SurveyAnswer();
  208. if (user != null) {
  209. entity.setUserId(user.getId());
  210. }
  211. Cookie cookie = CookieUtils.getCookie(request, surveyId);
  212. Integer effectiveIp = surveyDetail.getEffectiveIp();
  213. Integer effective = surveyDetail.getEffective();
  214. if ((effective != null && effective > 1 && cookie != null) || (effectiveIp != null && effectiveIp == 1 && ipNum > 0)) {
  215. return RELOAD_ANSER_ERROR_M;
  216. }
  217. if (ipNum >= refreshNum) {
  218. String code = request.getParameter("jcaptchaInput");
  219. if (!imageCaptchaService.validateResponseForID(request
  220. .getSession().getId(), code)) {
  221. return ANSWER_CODE_ERROR_M;
  222. }
  223. }
  224. Map<String, Map<String, Object>> quMaps = buildSaveSurveyMap(request);
  225. String addr = ipService.getCountry(ipAddr);
  226. String city = ipService.getCurCityByCountry(addr);
  227. entity.setIpAddr(ipAddr);
  228. entity.setAddr(addr);
  229. entity.setCity(city);
  230. entity.setSurveyId(surveyId);
  231. entity.setDataSource(0);
  232. surveyAnswerManager.saveAnswer(entity, quMaps);
  233. int effe = surveyDetail.getEffectiveTime();
  234. CookieUtils.addCookie(response, surveyId, (ipNum + 1) + "",
  235. effe * 60, "/");
  236. } catch (Exception e) {
  237. e.printStackTrace();
  238. return RELOAD_ANSWER_FAILURE;
  239. }
  240. return RELOAD_ANSWER_SUCCESS_M;
  241. }
  242. public Map<String, Map<String, Object>> buildSaveSurveyMap(HttpServletRequest request) {
  243. Map<String, Map<String, Object>> quMaps = new HashMap<String, Map<String, Object>>();
  244. Map<String, Object> yesnoMaps = WebUtils.getParametersStartingWith(
  245. request, "qu_" + QuType.YESNO + "_");
  246. quMaps.put("yesnoMaps", yesnoMaps);
  247. Map<String, Object> radioMaps = WebUtils.getParametersStartingWith(
  248. request, "qu_"+QuType.RADIO + "_");
  249. Map<String, Object> checkboxMaps = WebUtils.getParametersStartingWith(
  250. request, "qu_"+QuType.CHECKBOX + "_");
  251. Map<String, Object> fillblankMaps = WebUtils.getParametersStartingWith(
  252. request, "qu_" + QuType.FILLBLANK + "_");
  253. quMaps.put("fillblankMaps", fillblankMaps);
  254. Map<String, Object> dfillblankMaps = WebUtils
  255. .getParametersStartingWith(request, "qu_"
  256. + QuType.MULTIFILLBLANK + "_");
  257. for (String key : dfillblankMaps.keySet()) {
  258. String dfillValue = dfillblankMaps.get(key).toString();
  259. Map<String, Object> map = WebUtils.getParametersStartingWith(
  260. request, dfillValue);
  261. dfillblankMaps.put(key, map);
  262. }
  263. quMaps.put("multifillblankMaps", dfillblankMaps);
  264. Map<String, Object> answerMaps = WebUtils.getParametersStartingWith(
  265. request, "qu_" + QuType.ANSWER + "_");
  266. quMaps.put("answerMaps", answerMaps);
  267. Map<String, Object> compRadioMaps = WebUtils.getParametersStartingWith(
  268. request, "qu_" + QuType.COMPRADIO + "_");
  269. for (String key : compRadioMaps.keySet()) {
  270. String enId = key;
  271. String quItemId = compRadioMaps.get(key).toString();
  272. String otherText = Struts2Utils.getParameter("text_qu_"
  273. + QuType.COMPRADIO + "_" + enId + "_" + quItemId);
  274. AnRadio anRadio = new AnRadio();
  275. anRadio.setQuId(enId);
  276. anRadio.setQuItemId(quItemId);
  277. anRadio.setOtherText(otherText);
  278. compRadioMaps.put(key, anRadio);
  279. }
  280. quMaps.put("compRadioMaps", compRadioMaps);
  281. Map<String, Object> compCheckboxMaps = WebUtils
  282. .getParametersStartingWith(request, "qu_" + QuType.COMPCHECKBOX
  283. + "_");//复合多选
  284. for (String key : compCheckboxMaps.keySet()) {
  285. String dfillValue = compCheckboxMaps.get(key).toString();
  286. Map<String, Object> map = WebUtils.getParametersStartingWith(
  287. request, "tag_" + dfillValue);
  288. for (String key2 : map.keySet()) {
  289. String quItemId = map.get(key2).toString();
  290. String otherText = Struts2Utils.getParameter("text_"
  291. + dfillValue + quItemId);
  292. AnCheckbox anCheckbox = new AnCheckbox();
  293. anCheckbox.setQuItemId(quItemId);
  294. anCheckbox.setOtherText(otherText);
  295. map.put(key2, anCheckbox);
  296. }
  297. compCheckboxMaps.put(key, map);
  298. }
  299. quMaps.put("compCheckboxMaps", compCheckboxMaps);
  300. Map<String, Object> enumMaps = WebUtils.getParametersStartingWith(request, "qu_" + QuType.ENUMQU + "_");//枚举
  301. quMaps.put("enumMaps", enumMaps);
  302. Map<String, Object> quOrderMaps = WebUtils.getParametersStartingWith(
  303. request, "qu_" + QuType.ORDERQU + "_");//排序
  304. for (String key : quOrderMaps.keySet()) {
  305. String tag = quOrderMaps.get(key).toString();
  306. Map<String, Object> map = WebUtils.getParametersStartingWith(
  307. request, tag);
  308. quOrderMaps.put(key, map);
  309. }
  310. quMaps.put("quOrderMaps", quOrderMaps);
  311. for (String key:radioMaps.keySet()) {
  312. String enId = key;
  313. String quItemId = radioMaps.get(key).toString();
  314. String otherText = Struts2Utils.getParameter("text_qu_"
  315. + QuType.RADIO + "_" + enId + "_" + quItemId);
  316. AnRadio anRadio = new AnRadio();
  317. anRadio.setQuId(enId);
  318. anRadio.setQuItemId(quItemId);
  319. anRadio.setOtherText(otherText);
  320. radioMaps.put(key, anRadio);
  321. }
  322. quMaps.put("compRadioMaps", radioMaps);
  323. for (String key : checkboxMaps.keySet()) {
  324. String dfillValue = checkboxMaps.get(key).toString();
  325. Map<String, Object> map = WebUtils.getParametersStartingWith(
  326. request, dfillValue);
  327. for (String key2 : map.keySet()) {
  328. String quItemId = map.get(key2).toString();
  329. String otherText = Struts2Utils.getParameter("text_"
  330. + dfillValue + quItemId);
  331. AnCheckbox anCheckbox = new AnCheckbox();
  332. anCheckbox.setQuItemId(quItemId);
  333. anCheckbox.setOtherText(otherText);
  334. map.put(key2, anCheckbox);
  335. }
  336. checkboxMaps.put(key, map);
  337. }
  338. quMaps.put("compCheckboxMaps", checkboxMaps);
  339. return quMaps;
  340. }
  341. public String answerSuccess() throws Exception {
  342. HttpServletRequest request = Struts2Utils.getRequest();
  343. SurveyDirectory directory = directoryManager.getSurveyBySid(sid);
  344. request.setAttribute("surveyName", directory.getSurveyName());
  345. request.setAttribute("viewAnswer", directory.getViewAnswer());
  346. request.setAttribute("sid", directory.getSid());
  347. return ANSWER_SUCCESS;
  348. }
  349. public String answerFailure() throws Exception {
  350. HttpServletRequest request = Struts2Utils.getRequest();
  351. SurveyDirectory directory = directoryManager.get(surveyId);
  352. request.setAttribute("surveyName", directory.getSurveyName());
  353. request.setAttribute("sId", directory.getSid());
  354. return ANSWER_FAILURE;
  355. }
  356. public String answerError() throws Exception {
  357. answerErrorC();
  358. return ANSWER_ERROR;
  359. }
  360. private void answerErrorC() {
  361. HttpServletRequest request = Struts2Utils.getRequest();
  362. SurveyDirectory directory = directoryManager.get(surveyId);
  363. request.setAttribute("surveyName", directory.getSurveyName());
  364. request.setAttribute("sId", directory.getSid());
  365. String ipAddr = ipService.getIp(request);
  366. request.setAttribute("ip", ipAddr);
  367. }
  368. public String answerErrorM() throws Exception {
  369. answerErrorC();
  370. return ANSWER_ERROR_M;
  371. }
  372. public String answerSuccessM() throws Exception {
  373. HttpServletRequest request = Struts2Utils.getRequest();
  374. SurveyDirectory directory = directoryManager.get(surveyId);
  375. request.setAttribute("directory", directory);
  376. return ANSWER_SUCCESS_M;
  377. }
  378. public String ajaxCheckSurvey() throws Exception {
  379. HttpServletRequest request = Struts2Utils.getRequest();
  380. HttpServletResponse response = Struts2Utils.getResponse();
  381. // 0 1 2
  382. String ajaxResult = "0";
  383. try {
  384. SurveyDirectory directory = directoryManager.getSurvey(surveyId);
  385. SurveyDetail surveyDetail = directory.getSurveyDetail();
  386. int effective = surveyDetail.getEffective();
  387. int rule = surveyDetail.getRule();
  388. request.setAttribute("directory", directory);
  389. String surveyStatus = "0";
  390. Cookie cookie = CookieUtils.getCookie(request, surveyId);
  391. String ip = ipService.getIp(request);
  392. Long ipNum = 0L;
  393. if (effective > 1) {
  394. if (cookie != null) {
  395. String cookieValue = cookie.getValue();
  396. if (cookieValue != null
  397. && NumberUtils.isNumeric(cookieValue)) {
  398. ipNum = Long.parseLong(cookieValue);
  399. }
  400. surveyStatus = "1";
  401. } else {
  402. }
  403. }
  404. ipNum = surveyAnswerManager.getCountByIp(surveyId, ip);
  405. if (ipNum == null) {
  406. ipNum = 0L;
  407. }
  408. Integer effectiveIp = surveyDetail.getEffectiveIp();
  409. if (effectiveIp != null && effectiveIp == 1 && ipNum > 0) {
  410. surveyStatus = "2";
  411. }
  412. String isCheckCode = "0";
  413. int refreshNum = surveyDetail.getRefreshNum();
  414. if (ipNum >= refreshNum) {
  415. isCheckCode = "3";
  416. }
  417. ajaxResult = "{surveyStatus:\"" + surveyStatus
  418. + "\",isCheckCode:\"" + isCheckCode + "\"}";
  419. } catch (Exception e) {
  420. e.printStackTrace();
  421. }
  422. response.getWriter().write(ajaxResult);
  423. return null;
  424. }
  425. public String getSid() {
  426. return sid;
  427. }
  428. public void setSid(String sid) {
  429. this.sid = sid;
  430. }
  431. public String getSurveyId() {
  432. return surveyId;
  433. }
  434. public void setSurveyId(String surveyId) {
  435. this.surveyId = surveyId;
  436. }
  437. }