📄 useraction.java
字号:
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 + -