📄 othermanageaction.java
字号:
if (num > FinalProperty.COUNT_COLUMN_MAX_VALUE) {
num = FinalProperty.COUNT_COLUMN_MAX_VALUE;
}
} catch (Exception exception) {
num = FinalProperty.COUNT_COLUMN_MAX_VALUE;
}
Long weightNum = Long.valueOf(FormDataCheck
.getNumberFromForm(newWeightStr));
short weight = weightNum > FinalProperty.WEIGHT_PROPERTY_MAX_VALUE ? FinalProperty.WEIGHT_PROPERTY_MAX_VALUE
: weightNum.shortValue();
Long longNum = Long.valueOf(FormDataCheck
.getNumberFromForm(newSupplyNum));
int supplynum = longNum > FinalProperty.SUPPLY_NUMBER_MAX_VALUE ? FinalProperty.SUPPLY_NUMBER_MAX_VALUE
: longNum.intValue();
String setAvailable = "";
if (newIdentifier.equals("") || newFileName.equals("")) {
setAvailable = "available=0 ,";
} else {
setAvailable = "available=1 ,";
}
String magicperm = dataParse.combinationChar(hashMap);
dataBaseService.execute("UPDATE jrun_magics SET "+ setAvailable + "type='" + newType + "', name='" + newName+ "', identifier='" + newIdentifier + "',description='"+ newDescription + "',price=" + price + ",num=" + num+ ",supplytype=" + newSupplyType + ",supplynum=" + supplynum+ ",weight=" + weight + ",filename='" + newFileName+ "',magicperm='" + magicperm + "' WHERE magicid=" + magicId);
request.setAttribute("successInfo", "道具资料更新。");
request.setAttribute("requestPath","admincp.jsp?action=magic");
return mapping.findForward("success");
}
}
public ActionForward magicmarket(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String marketsubmit = request.getParameter("marketsubmit");
if(marketsubmit == null){
HttpSession session = request.getSession();
boolean isfounder = (Boolean) session.getAttribute("isfounder");
boolean ishavefounder = (Boolean) session.getAttribute("ishavefounder");
if (ishavefounder && !isfounder) {
request.setAttribute("resultInfo","您没有权限访问该设置,出于安全考虑此设置只有论坛创始人可以使用。");
return mapping.findForward("result");
}
List<Map<String, String>> resultMapList = dataBaseService.executeQuery("SELECT mm.mid,mm.magicid,mm.username,mm.price,mm.num,mm.num*m.weight AS allweight,m.name,m.description FROM jrun_magicmarket AS mm LEFT JOIN jrun_magics AS m ON mm.magicid=m.magicid");
request.setAttribute("valueObject", resultMapList);
return mapping.findForward("other_magicmarket");
}else{
List<Magicmarket> mmBeanList = new ArrayList<Magicmarket>();
String deletes[] = request.getParameterValues("delete");
String mIds[] = request.getParameterValues("mid");
String prices[] = request.getParameterValues("price");
String nums[] = request.getParameterValues("num");
int len = 0;
if (!FormDataCheck.isZeroOption(mIds)) {
len = mIds.length;
for (int i = 0; i < len; i++) {
try {
prices[i] = FormDataCheck.getNumberFromForm(prices[i]);
if (Integer.parseInt(prices[i]) > FinalProperty.PRICE_COLUMN_MAX_VALUE) {
prices[i] = FinalProperty.PRICE_COLUMN_MAX_VALUE .toString();
}
} catch (Exception exception) {
prices[i] = FinalProperty.PRICE_COLUMN_MAX_VALUE.toString();
}
try {
nums[i] = FormDataCheck.getNumberFromForm(nums[i]);
if (Short.parseShort(nums[i]) > FinalProperty.COUNT_SELL_MAX_VALUE) {
nums[i] = FinalProperty.COUNT_SELL_MAX_VALUE.toString();
}
} catch (Exception exception) {
nums[i] = FinalProperty.COUNT_SELL_MAX_VALUE.toString();
}
}
}
Magicmarket mmBean = null;
for (int i = 0; i < len; i++) {
mmBean = new Magicmarket();
mmBean.setMid(Short.valueOf(mIds[i]));
mmBean.setPrice(Integer.parseInt(prices[i]));
mmBean.setNum(Short.valueOf(nums[i]));
mmBeanList.add(mmBean);
}
if (otherSetService.updateMagicMarketInfo(deletes, mmBeanList)) {
request.setAttribute("successInfo", "道具市场资料更新成功。");
request.setAttribute("requestPath", "admincp.jsp?action=magicmarket");
return mapping.findForward("success");
} else {
request.setAttribute("errorInfo", "道具市场资料更新失败。");
return mapping.findForward("error");
}
}
}
public ActionForward announcements(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String announcesubmit = request.getParameter("announcesubmit");
String addsubmit = request.getParameter("addsubmit");
float timeoffset = Float.parseFloat(ForumInit.settings.get("timeoffset"));
if(announcesubmit == null && addsubmit == null){
HttpSession session=request.getSession();
String dateformat=(String)session.getAttribute("dateformat");
SimpleDateFormat sdf_df=new SimpleDateFormat(dateformat);
List<Map<String,String>> announcements=dataBaseService.executeQuery("SELECT id,author,subject,type,displayorder,starttime,endtime,message FROM jrun_announcements ORDER BY displayorder, starttime DESC, id DESC");
if(announcements!=null&&announcements.size()>0){
for(Map<String,String> announcement:announcements){
String message=announcement.get("message");
int starttime=Integer.parseInt(announcement.get("starttime"));
int endtime=Integer.parseInt(announcement.get("endtime"));
announcement.put("subject", Common.dhtmlspecialchars(announcement.get("subject")));
announcement.put("message", Common.dhtmlspecialchars(message.length()>10?message.substring(0,10)+"...":message));
announcement.put("starttime",Common.gmdate(sdf_df, starttime, timeoffset));
announcement.put("endtime",endtime>0?Common.gmdate(sdf_df, endtime, timeoffset):"无限制");
}
}
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
List<Map<String,String>> usergroups = dataBaseService.executeQuery("SELECT groupid, grouptitle FROM jrun_usergroups WHERE groupid<4 OR groupid>6");
request.setAttribute("usergroups", usergroups);
request.setAttribute("announcements", announcements);
request.setAttribute("time", Common.gmdate(simpleDateFormat, Common.time(), timeoffset));
return mapping.findForward("other_announcements");
}else if(announcesubmit != null){
int len = 0;
String deletes[] = request.getParameterValues("delete");
String aIds[] = request.getParameterValues("annid");
String newDisplayOrders[] = request.getParameterValues("newdisplayorder");
if(!FormDataCheck.isZeroOption(aIds)){
len = aIds.length;
}
for(int i=0;i<len;i++){
newDisplayOrders[i] = FormDataCheck.getNumberFromFormOfDisplayorder(newDisplayOrders[i]);
try {
Byte.valueOf(newDisplayOrders[i]);
} catch (Exception exception) {
if(newDisplayOrders[i].startsWith("-")){
newDisplayOrders[i] = FinalProperty.ORDER_COLUMN_MIN_VALUE.toString();
}else{
newDisplayOrders[i] = FinalProperty.ORDER_COLUMN_MAX_VALUE.toString();
}
}
}
otherSetService.updateFormAnn(deletes, aIds,newDisplayOrders);
String realPath = servlet.getServletContext().getRealPath("/");
String[] updateKeyArray = {"index","forumdisplay","viewthread"};
UpdateCache.excude(realPath, updateKeyArray);
request.setAttribute("successInfo", "更新论坛公告信息成功。");
request.setAttribute("requestPath", "admincp.jsp?action=announcements");
return mapping.findForward("success");
}else{
HttpSession session = request.getSession();
Announcements annBean = null;
String subject = request.getParameter("subject");
String startTime = request.getParameter("starttime");
String endTime = request.getParameter("endtime");
String type = request.getParameter("type");
String userGroupIds[] = request.getParameterValues("usergroupid");
String message = request.getParameter("message");
if(!FormDataCheck.isValueString(subject)){
request.setAttribute("errorInfo", "公告标题必须为有效字符串。");
return mapping.findForward("error");
}
if((startTime = validateTime(startTime, FinalProperty.TIME_OF_Announcement_MAX, FinalProperty.TIME_OF_Announcement_MIN, request))==null){
return mapping.findForward("error");
}
if(endTime==null || "".equals(endTime)){
endTime = "0";
}else if((endTime = validateTime(endTime, FinalProperty.TIME_OF_Announcement_MAX, FinalProperty.TIME_OF_Announcement_MIN, request))==null){
return mapping.findForward("error");
}
if(!FormDataCheck.isValueString(message)){
request.setAttribute("errorInfo", "公告内容不能为空。");
return mapping.findForward("error");
}
int groupIdLen = userGroupIds.length;
StringBuffer groupIdSb = new StringBuffer();
for(int i=0;i<groupIdLen;i++){
if(userGroupIds[i].equals("")){
groupIdSb.delete(0, groupIdSb.length());
break;
}
if(i==groupIdLen-1)
groupIdSb.append(userGroupIds[i]);
else
groupIdSb.append(userGroupIds[i]+",");
}
annBean = new Announcements();
annBean.setSubject(subject);
try {
annBean.setStarttime(ForumCommonsUtil.dateStrToDateLong(startTime)-(int)(timeoffset*3600));
annBean.setEndtime(endTime.equals("0")?0:ForumCommonsUtil.dateStrToDateLong(endTime)-(int)(timeoffset*3600));
} catch (NumberFormatException e) {
request.setAttribute("errorInfo", "格式错误的公告开始时间或者结束时间。");
return mapping.findForward("error");
} catch (ParseException e) {
request.setAttribute("errorInfo", "格式错误的公告开始时间或者结束时间。");
return mapping.findForward("error");
}
if(session.getAttribute("members")==null){
request.setAttribute("errorInfo", "您的操作间隔过长,请重新登陆");
return mapping.findForward("error");
}
annBean.setAuthor(((Members)session.getAttribute("members")).getUsername());
annBean.setType(Byte.parseByte(type));
annBean.setGroups(groupIdSb.toString());
annBean.setMessage(message);
if(otherSetService.addFormAnn(annBean)){
String realPath = servlet.getServletContext().getRealPath("/");
String[] updateKeyArray = {"index","forumdisplay","viewthread"};
UpdateCache.excude(realPath, updateKeyArray);
request.setAttribute("successInfo", "增加论坛公告成功。");
request.setAttribute("requestPath", "admincp.jsp?action=announcements");
return mapping.findForward("success");
}else{
request.setAttribute("errorInfo", "增加论坛公告失败。");
return mapping.findForward("error");
}
}
}
public ActionForward annedit(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {
String editsubmit = request.getParameter("editsubmit");
float timeoffset = Float.parseFloat(ForumInit.settings.get("timeoffset"));
if(editsubmit == null){
List<Map<String,String>> announcements = dataBaseService.executeQuery("SELECT a.id,a.subject,a.type,a.starttime,a.endtime,a.message,a.groups FROM jrun_announcements AS a WHERE id="+request.getParameter("annid"));
if(announcements!=null&&announcements.size()>0){
Map<String,String> announcement = announcements.get(0);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
int endtime = Integer.parseInt(announcement.get("endtime"));
announcement.put("subject", Common.dhtmlspecialchars(announcement.get("subject")));
announcement.put("message", Common.dhtmlspecialchars(announcement.get("message")));
announcement.put("starttime", Common.gmdate(simpleDateFormat, Integer.parseInt(announcement.get("starttime")), timeoffset));
announcement.put("endtime", endtime>0?Common.gmdate(simpleDateFormat, endtime, timeoffset):"");
String groups = announcement.get("groups");
if(groups!=null&&!groups.equals("")){
String[] groupids = groups.split(",");
Map<String,String> groupSelect = new HashMap<String, String>();
for(String groupid : groupids){
groupSelect.put(groupid, "selected");
}
request.setAttribute("groupSelect", groupSelect);
}
List<Map<String,String>> usergroups = dataBaseService.executeQuery("SELECT groupid, grouptitle FROM jrun_usergroups WHERE groupid<4 OR groupid>6");
request.setAttribute("usergroups", usergroups);
request.setAttribute("announcement", announcement);
return mapping.findForward("other_annedit");
}else{
request.setAttribute("errorInfo", "该公告可能已经被删除,请返回公告主页刷新后在试。");
return mapping.findForward("error");
}
}else{
Short annId = Short.valueOf(request.getParameter("annid"));
String newSubject = request.getParameter("newsubject");
String newStartTime = request.getParameter("newstarttime");
String newEndTime = request.getParameter("newendtime");
Byte newType = Byte.valueOf(request.getParameter("newtype"));
String userGroupIds[] = request.getParameterValues("usergroupid");
String newMessage = request.getParameter("newmessage");
if(!FormDataCheck.isValueString(newSubject)){
request.setAttribute("errorInfo", "论坛公告标题必须为有效字符串。");
return mapping.findForward("error");
}
if((newStartTime= validateTime(newStartTime, FinalProperty.TIME_OF_Announcement_MAX, FinalProperty.TIME_OF_Announcement_MIN, request))==null){
return mapping.findForward("error");
}
SimpleDateFormat dateFormat = new SimpleDateFormat(FinalProperty.DATA_FORMAT);
String nowTime = dateFormat.format(new Date());
if(newEndTime==null || "".equals(newEndTime)){
newEndTime = "0";
}else if((newEndTime= validateTime(newEndTime, FinalProperty.TIME_OF_Announcement_MAX, nowTime, request))==null){
return mapping.findForward("error");
}
if(!FormDataCheck.isValueString(newMessage)){
request.setAttribute("errorInfo", "公告内容不能为空。");
return mapping.findForward("error");
}
int groupIdLen = userGroupIds.length;
StringBuffer groupIdSb = new StringBuffer();
for(int i=0;i<groupIdLen;i++){
if("".equals(userGroupIds[i])){
groupIdSb.delete(0, groupIdSb.length());
break;
}
if(i==groupIdLen-1)
groupIdSb.append(userGroupIds[i]);
else
groupIdSb.append(userGroupIds[i]+",");
}
Announcements ann = otherSetService.queryAnnById(annId);
ann.setSubject(newSubject);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -