⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 useraction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
			List<String> groupTitleList = new ArrayList<String>();
			List<String> creditsHigherList = new ArrayList<String>();
			List<String> starsList = new ArrayList<String>();
			List<String> colorList = new ArrayList<String>();
			List<String> groupAvatarList = new ArrayList<String>();
			List<String> projectList = new ArrayList<String>();
			for (int i = 0; i < insertLength; i++) {
				if (!newGroupTitles[i].equals("") && !newCreditHighters.equals("")) {
					idList.add("-1");
					groupTitleList.add(newGroupTitles[i]);
					int newcredit = Common.toDigit(newCreditHighters[i]);
					creditsHigherList.add(newcredit + "");
					starsList.add(newStarses[i]);
					colorList.add("");
					groupAvatarList.add("");
					projectList.add(projects[i]);
				}
			}
			for (int i = 0; i < updateLength; i++) {
				if (!creditsHighers[i].matches("-?\\d+")) {
					creditsHighers[i] = "0";
				}
				idList.add(updateIds[i]);
				groupTitleList.add(groupTitles[i]);
				creditsHigherList.add(creditsHighers[i]);
				starsList.add(starses[i]);
				colorList.add(colors[i]);
				groupAvatarList.add(groupAvatars[i]);
				projectList.add("0");
			}
			int zeroNum = 0, negativeNum = 0, size = groupTitleList.size();
			for (int i = 0; i < size; i++) {
				if (creditsHigherList.get(i).equals("0")) {
					zeroNum += 1;
				} else if (Integer.parseInt(creditsHigherList.get(i)) < 0) {
					negativeNum += 1;
				}
				for (int j = size - 1; j > i; j--) {
					if (creditsHigherList.get(i).equals(creditsHigherList.get(j))) {
						request.setAttribute("errorInfo","会员用户组积分下限设置重复,请返回修改。");
						request.removeAttribute("otherInfo");
						return mapping.findForward("error");
					}
				}
			}
			if (zeroNum < 1 || negativeNum < 1) {
				request.setAttribute("errorInfo", "缺少积分下限为负数或 0 的会员用户组,请返回修改。");
				request.removeAttribute("otherInfo");
				return mapping.findForward("error");
			}
			String temp = "";
			for (int i = 0; i < size; i++) {
				for (int j = size - 1; j > i; j--) {
					if (Integer.parseInt(creditsHigherList.get(i)) > Integer.parseInt(creditsHigherList.get(j))) {
						temp = creditsHigherList.get(i);
						creditsHigherList.set(i, creditsHigherList.get(j));
						creditsHigherList.set(j, temp);
						temp = groupTitleList.get(i);
						groupTitleList.set(i, groupTitleList.get(j));
						groupTitleList.set(j, temp);
						temp = starsList.get(i);
						starsList.set(i, starsList.get(j));
						starsList.set(j, temp);
						temp = colorList.get(i);
						colorList.set(i, colorList.get(j));
						colorList.set(j, temp);
						temp = groupAvatarList.get(i);
						groupAvatarList.set(i, groupAvatarList.get(j));
						groupAvatarList.set(j, temp);
						temp = idList.get(i);
						idList.set(i, idList.get(j));
						idList.set(j, temp);
						if (j < projectList.size()) {
							temp = projectList.get(i);
							projectList.set(i, projectList.get(j));
							projectList.set(j, temp);
						} else if (i < projectList.size()) {
							temp = projectList.get(projectList.size() - 1);
							projectList.set(projectList.size() - 1, projectList.get(i));
							projectList.set(i, temp);
						}
					}
				}
			}
			creditsHigherList.set(0, "-999999999");
			creditsHigherList.add("999999999");
			for (int i = 0; i < size; i++) {
				userGroup = userGroupServer.findUserGroupById(new Short(idList.get(i)));
				if (userGroup == null) {
					short star = Common.toDigit(starsList.get(i), 100000L, 0L).shortValue();
					userGroup = new Usergroups();
					userGroup.setGrouptitle(groupTitleList.get(i));
					userGroup.setCreditshigher(Integer.parseInt(creditsHigherList.get(i)));
					userGroup.setStars(star);
					userGroup.setColor(colorList.get(i));
					userGroup.setGroupavatar(groupAvatarList.get(i));
					userGroup.setCreditslower(Integer.parseInt(creditsHigherList.get(i + 1)));
					userGroup.setMagicsdiscount((byte) 0);
					userGroup.setAllowmagics((byte) 0);
					userGroup.setMaxmagicsweight((short) 0);
					userGroup.setTradestick((byte) 0);
					userGroup.setReadaccess((short)1);
					userGroup.setAllowvisit((byte)1);
					if (projectList.get(i) != null && !"".equals(projectList.get(i)) && !projectList.get(i).equals("0")) {
						Projects project = userGroupServer .findProjectsById(new Short(projectList.get(i)));
						Map projectMap = dataParse.characterParse(project .getValue(), false);
						userGroup = (Usergroups) setValues(userGroup,projectMap);
					}
					userGroupServer.insertUserGroup(userGroup);
				} else {
					short star = Common.toDigit(starsList.get(i), 100000L, 0L).shortValue();
					userGroup.setGrouptitle(groupTitleList.get(i));
					userGroup.setCreditshigher(Integer.parseInt(creditsHigherList.get(i)));
					userGroup.setStars(star);
					userGroup.setColor(colorList.get(i));
					userGroup.setGroupavatar(groupAvatarList.get(i));
					userGroup.setCreditslower(Integer.parseInt(creditsHigherList.get(i + 1)));
					userGroupServer.modifyUserGroup(userGroup);
				}
			}
			boolean canDel = false;
			if (delIds != null && delIds.length != 0) {
				for (int i = 0; i < delIds.length; i++) {
					List<Map<String, String>> usergroup = dataBaseService.executeQuery("select creditshigher,creditslower from jrun_usergroups where groupid="+ delIds[i]);
					int credits = Common.toDigit(usergroup.get(0).get("creditshigher"), 999999999L,-999999999L).intValue();
					int creditslower = Common.toDigit(usergroup.get(0).get("creditslower"), 999999999L,-999999999L).intValue();
					if (credits < 0) {
						for (int k = 0; k < size; k++) {
							if (Integer.parseInt(creditsHigherList.get(k)) < 0&& !idList.get(k).equals(delIds[i])) {
								canDel = true;
							}
						}
						if (!canDel) {
							request.setAttribute("errorInfo","缺少积分下限为负数或 0 的会员用户组,请返回修改。");
							request.removeAttribute("otherInfo");
							return mapping.findForward("error");
						}
					} else if (credits == 0) {
						for (int k = 0; k < size; k++) {
							if (Integer.parseInt(creditsHigherList.get(k)) == 0	&& !idList.get(k).equals(delIds[i])) {
								canDel = false;
							}
						}
						if (canDel) {
							request.setAttribute("errorInfo","缺少积分下限为负数或 0 的会员用户组,请返回修改。");
							request.removeAttribute("otherInfo");
							return mapping.findForward("error");
						}
					}
					List<Map<String,String>> groupids = dataBaseService.executeQuery("select groupid,creditshigher from jrun_usergroups where creditslower="+credits);
					if(groupids.size()>0){
						Map<String,String>groupid = groupids.get(0);
						if(groupid.get("creditshigher").equals("0")){
							List<Map<String,String>> groupidnew = dataBaseService.executeQuery("select groupid from jrun_usergroups where creditshigher="+creditslower);
							if(groupidnew.size()>0){
								dataBaseService.runQuery("update jrun_usergroups set creditshigher=0 where groupid="+groupidnew.get(0).get("groupid"));
							}
						}else{
							dataBaseService.runQuery("update jrun_usergroups set creditslower="+creditslower+" where groupid="+groupid.get("groupid"));
						}
					}
					dataBaseService.runQuery("delete from jrun_usergroups where groupid="+ delIds[i], true);
				}
			}
			try {
				cache.updatecache("usergroup");
			} catch (Exception e) {
				e.printStackTrace();
			}
			idList = null;
			groupTitleList = null;
			creditsHigherList = null;
			starsList = null;
			colorList = null;
			groupAvatarList = null;
			projectList = null;
			request.setAttribute("successInfo", "用户组成功更新。如您添加了新的用户组,<br>请不要忘记修改其相应的权限设置。");
			request.setAttribute("requestPath", "admincp.jsp?action=usergroups");
			return mapping.findForward("success");
		} else if (groupsubmit!=null && type != null && "special".equals(type)) {
			String[] newGroupTitles = request
					.getParameterValues("newgrouptitle");
			int insertLength = newGroupTitles.length;
			String[] groupTitles = request.getParameterValues("grouptitle");
			String[] starses = request.getParameterValues("stars");
			String[] colors = request.getParameterValues("color");
			String[] groupAvatars = request.getParameterValues("groupavatar");
			String[] newstars = request.getParameterValues("newstars");
			String[] newcolor = request.getParameterValues("newcolor");
			String[] newgroupavatar = request
					.getParameterValues("newgroupavatar");
			int updateLength = 0;
			if (groupTitles != null) {
				updateLength = groupTitles.length;
			}
			List<String> idList = new ArrayList<String>();
			List<String> groupTitleList = new ArrayList<String>();
			List<String> starsList = new ArrayList<String>();
			List<String> colorList = new ArrayList<String>();
			List<String> groupAvatarList = new ArrayList<String>();
			for (int i = 0; i < insertLength; i++) {
				if (!newGroupTitles[i].equals("")) {
					idList.add("-1");
					groupTitleList.add(newGroupTitles[i]);
					starsList.add(newstars[i]);
					colorList.add(newcolor[i]);
					groupAvatarList.add(newgroupavatar[i]);
				}
			}
			for (int i = 0; i < updateLength; i++) {
				idList.add(updateIds[i]);
				groupTitleList.add(groupTitles[i]);
				starsList.add(starses[i]);
				colorList.add(colors[i]);
				groupAvatarList.add(groupAvatars[i]);
			}
			int size = groupTitleList.size();
			for (int i = 0; i < size; i++) {
				short star = Common.toDigit(starsList.get(i), 100000L, 0L)
						.shortValue();
				String sql = "INSERT INTO jrun_usergroups(grouptitle,stars,color,groupavatar,type,magicsdiscount,allowmagics,maxmagicsweight,tradestick,allowvisit,readaccess)values('"
						+ groupTitleList.get(i)
						+ "','"
						+ star
						+ "','"
						+ colorList.get(i)
						+ "','"
						+ groupAvatarList.get(i)
						+ "','special','0','0','0','0','1','1')";
				if (!idList.get(i).equals("-1")) {
					sql = "UPDATE jrun_usergroups set grouptitle='"
							+ groupTitleList.get(i) + "',stars='" + star
							+ "',color='" + colorList.get(i)
							+ "',groupavatar='" + groupAvatarList.get(i)
							+ "' where groupid=" + idList.get(i);
				}
				dataBaseService.runQuery(sql, true);
			}
			if (delIds != null && delIds.length != 0) {
				dataBaseService.runQuery(
						"delete from jrun_usergroups where groupid in ("
								+ Common.implodeids(delIds) + ")", true);
			}
			try {
				cache.updatecache("usergroup");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -