package cn.jcenterhome.web.action.admin; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import cn.jcenterhome.util.Common; import cn.jcenterhome.util.JavaCenterHome; import cn.jcenterhome.web.action.BaseAction; public class CreditAction extends BaseAction { @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { if (!Common.checkPerm(request, response, "managecredit")) { return cpMessage(request, mapping, "cp_no_authority_management_operation"); } try { if (submitCheck(request, "creditsubmit")) { int rid = Common.intval(request.getParameter("rid")); String sql = "SELECT * FROM " + JavaCenterHome.getTableName("creditrule") + " WHERE rid=" + rid; List<Map<String, Object>> query = dataBaseService.executeQuery(sql); if (query.isEmpty()) { return cpMessage(request, mapping, "cp_rules_do_not_exist_points", "admincp.jsp?ac=credit"); } Map<String, Object> rule = query.get(0); int rewardType = (Integer) rule.get("rewardtype"); int cycleType = Common.intval(request.getParameter("cycletype")); int credit = Common.range(request.getParameter("credit"), 16777215, 0); int experience = Common.range(request.getParameter("experience"), 16777215, 0); int cycleTime = Common.range(request.getParameter("cycletime"), 2147483647, 0); int rewardNum = Common.range(request.getParameter("rewardnum"), 127, 0); StringBuffer setSql = new StringBuffer(); setSql.append("`credit`='" + credit + "'"); setSql.append(",`experience`='" + experience + "'"); setSql.append(",`cycletype`='" + cycleType + "'"); setSql.append(",`cycletime`='" + cycleTime + "'"); setSql.append(",`rewardnum`='" + rewardNum + "'"); if (rewardType == 0) { setSql.append(",`cycletype`='" + 0 + "'"); setSql.append(",`cycletime`='" + 0 + "'"); setSql.append(",`rewardnum`='" + 1 + "'"); } else if (cycleType == 0) { setSql.append(",`cycletime`='" + 0 + "'"); setSql.append(",`rewardnum`='" + 1 + "'"); } dataBaseService.executeUpdate("UPDATE " + JavaCenterHome.getTableName("creditrule") + " SET " + setSql + " WHERE `rid`='" + rid + "'"); cacheService.creditrule_cache(); return cpMessage(request, mapping, "do_success", "admincp.jsp?ac=credit&rewardtype=" + rewardType, 1); } } catch (Exception e1) { return showMessage(request, response, e1.getMessage()); } if ("edit".equals(request.getParameter("op"))) { int rid = Common.intval(request.getParameter("rid")); Map<String, Object> rule = null; if (rid > 0) { String sql = "SELECT * FROM " + JavaCenterHome.getTableName("creditrule") + " WHERE rid='" + rid + "'"; List<Map<String, Object>> query = dataBaseService.executeQuery(sql); rule = query.isEmpty() ? null : query.get(0); } if (rule == null) { return cpMessage(request, mapping, "cp_rules_do_not_exist_points", "admincp.jsp?ac=credit"); } request.setAttribute("rule", rule); } else { Map<String, String[]> paramMap = request.getParameterMap(); String[] rewardTypes = paramMap.get("rewardtype"); int rewardType = rewardTypes == null ? 1 : Common.intval(rewardTypes[0]); paramMap.put("rewardtype", new String[] {String.valueOf(rewardType)}); request.setAttribute("actives_" + rewardType, " class='active'"); String[] intKeys = {"rewardtype", "cycletype"}; List<String[]> randKeys = new ArrayList<String[]>(); randKeys.add(new String[] {"intval", "credit"}); randKeys.add(new String[] {"intval", "experience"}); String[] likeKeys = {"rulename"}; Map<String, String> wheres = getWheres(intKeys, null, randKeys, likeKeys, null, paramMap, null); String whereSQL = wheres.get("sql") == null ? "1" : wheres.get("sql"); String sql = "SELECT * FROM " + JavaCenterHome.getTableName("creditrule") + " WHERE " + whereSQL; List<Map<String, Object>> list = dataBaseService.executeQuery(sql); request.setAttribute("rewardtype", rewardType); request.setAttribute("list", list); } Map<Integer, String> rewardTypes = new HashMap<Integer, String>(); rewardTypes.put(0, "�۷�"); rewardTypes.put(1, "�ӷ�"); request.setAttribute("rewardTypes", rewardTypes); Map<Integer, String> cycleTypes = new HashMap<Integer, String>(); cycleTypes.put(0, "һ����"); cycleTypes.put(1, "ÿ��"); cycleTypes.put(2, "����"); cycleTypes.put(3, "�������"); cycleTypes.put(4, "��������"); request.setAttribute("cycleTypes", cycleTypes); return mapping.findForward("credit"); } }