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

📄 eccreditaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package cn.jsprun.struts.foreg.actions;

import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;

import cn.jsprun.api.Tenpayapi;
import cn.jsprun.service.system.DataBaseService;
import cn.jsprun.utils.BeanFactory;
import cn.jsprun.utils.Common;
import cn.jsprun.utils.DataParse;
import cn.jsprun.utils.JspRunConfig;

public class EccreditAction extends DispatchAction {
	private DataBaseService dataBaseService = (DataBaseService) BeanFactory.getBean("dataBaseService");
	private DataParse dataParse=((DataParse) BeanFactory.getBean("dataParse"));
	@SuppressWarnings("unchecked")
	public ActionForward showEccredit(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {
		HttpSession session = request.getSession();
		int timestamp = (Integer)(request.getAttribute("timestamp"));
		Map<String,String> settings = (Map<String,String>)request.getAttribute("settings");
		Map<String,String> usergroups = (Map<String,String>)request.getAttribute("usergroups");
		int uid = Common.toDigit(request.getParameter("uid"),10000000000L,0L).intValue();
		int jsprun_uid = (Integer)session.getAttribute("jsprun_uid");
		int allowviewpro = jsprun_uid>0 && uid==jsprun_uid?1:Common.toDigit(usergroups.get("allowviewpro"));
		if(allowviewpro==0){
			request.setAttribute("show_message", "您所在的用户组("+ usergroups.get("grouptitle") + ")无法进行此操作。");
			return mapping.findForward("nopermission");
		}
		List<Map<String,String>> members = dataBaseService.executeQuery("SELECT m.uid, mf.customstatus, m.username, m.groupid, mf.taobao, mf.alipay, mf.avatar, mf.avatarwidth, mf.avatarheight, mf.buyercredit, mf.sellercredit, m.regdate,u.groupavatar,u.allowavatar FROM jrun_members m LEFT JOIN jrun_memberfields mf USING(uid) LEFT JOIN jrun_usergroups as u ON m.groupid=u.groupid WHERE m.uid='"+uid+"'");
		if(members==null || members.size()<=0){
			request.setAttribute("errorInfo", "指定的用户不存在或已被删除,请返回。");
			return mapping.findForward("showMessage");
		}
		Map<String,String> member = members.get(0);
		String avatar = "";
 		if(!Common.isEmpty(member.get("groupavatar"))){
 			avatar = "<img src=\""+member.get("groupavatar")+"\" border=\"0\" alt=\"\" />";
 		}else if(Integer.valueOf(member.get("allowavatar"))>0&&!Common.isEmpty(member.get("avatar"))){
 			avatar = "<div class=\"avatar\" style=\"width: "+member.get("avatarwidth")+"\"><img src=\""+member.get("avatar")+"\" width=\""+member.get("avatarwidth")+"\" height=\""+member.get("avatarheight")+"\" border=\"0\" alt=\"\" /></div>";
 		}
 		member.put("avatar", avatar);
 		int buycredit = Common.toDigit(member.get("buyercredit"));
		int shellcredit =  Common.toDigit(member.get("sellercredit"));
		String ec_credit = settings.get("ec_credit");
		Map buycreditMap = dataParse.characterParse(ec_credit, true);
		Map buysMap = (Map) buycreditMap.get("rank");
		String postbuycredit = "0";
		String postshellcredit = "0";
		if (buysMap != null) {
			Iterator it = buysMap.keySet().iterator();
			if(buycredit>0){
				while (it.hasNext()) {
					Object key = it.next();
					if (buycredit <= Integer.valueOf(buysMap.get(key).toString())) {
						postbuycredit = key.toString();
						break;
					}
				}
			}
			if(shellcredit>0){
				while (it.hasNext()) {
					Object key = it.next();
					if (shellcredit <= Integer.valueOf(buysMap.get(key).toString())) {
						postshellcredit = key.toString();
						break;
					}
				}
			}
		}
		request.setAttribute("shellcredit", postshellcredit);
		request.setAttribute("buycredit", postbuycredit);
		List<Map<String,String>> cachelist = dataBaseService.executeQuery("select variable,value,expiration from jrun_spacecaches where uid="+uid+" and variable in ('buyercredit','sellercredit')");
		Map<String,Map> caches = new HashMap<String,Map>();
		for(Map<String,String> cache:cachelist){
			Map variable = dataParse.characterParse(cache.get("value"), false);
			variable.put("expiration", cache.get("expiration"));
			caches.put(cache.get("variable"), variable);
		}
		if(caches.get("buyercredit")==null ||timestamp > Common.toDigit(caches.get("buyercredit").get("expiration").toString())){
			caches.put("buyercredit", updatecreditcache(uid,timestamp,"buyercredit"));
		}
		if(caches.get("sellercredit")==null ||timestamp > Common.toDigit(caches.get("sellercredit").get("expiration").toString())){
			caches.put("sellercredit", updatecreditcache(uid,timestamp,"sellercredit"));
		}
		float buyertotal =  Common.toDigit(((Map)caches.get("buyercredit").get("all")).get("total").toString(),1000000000L,0L).floatValue();
		float sellertotal = Common.toDigit(((Map)caches.get("sellercredit").get("all")).get("total").toString(),100000000L,0L).floatValue();
		buyertotal=buyertotal==0?1:buyertotal;
		sellertotal=sellertotal==0?1:sellertotal;
		double buyers = Common.toDigit(((Map)caches.get("buyercredit").get("all")).get("good").toString())*100/buyertotal;
		String buyerpercent = Common.number_format(buyers, "0.00");
		double seller = Common.toDigit(((Map)caches.get("sellercredit").get("all")).get("good").toString())*100/sellertotal;
		String sellerpercent = Common.number_format(seller, "0.00");
		request.setAttribute("buyerpercent", buyerpercent);
		request.setAttribute("sellerpercent",sellerpercent);
		request.setAttribute("caches", caches);
		request.setAttribute("member",member);
		return mapping.findForward("ec_credit");
	}
	public ActionForward list(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {
		int timestamp = (Integer)(request.getAttribute("timestamp"));
		int uid = Common.toDigit(request.getParameter("uid"),10000000000L,0L).intValue();
		String from = request.getParameter("from");
		from = from == null?"":from;
		from = Common.isinarray(from, new String[]{"buyer","seller","myself"})? from:"";
		String sql = from.equals("myself")?"raterid="+uid:"rateeid="+uid;
		sql+= from.equals("buyer")?" and type=0":(from.equals("seller")?" and type=1":"");
		String filter = request.getParameter("filter");
		filter = filter==null?"":filter;
		if(filter.equals("thisweek")){
			sql += " and dateline>="+(timestamp-604800);
		}else if(filter.equals("thismonth")){
			sql += " and dateline>="+(timestamp-2592000);
		}else if(filter.equals("halfyear")){
			sql += " and dateline>="+(timestamp-15552000);
		}else if(filter.equals("before")){
			sql += " and dateline<"+(timestamp-15552000);
		}
		String level = request.getParameter("level");
		level = level==null?"":level;
		if(level.equals("good")){
			sql += " and score=1";
		}else if(level.equals("soso")){
			sql+= " and score=0";
		}else if(level.equals("bad")){
			sql+=" and score=-1";
		}
		int num = Integer.valueOf(dataBaseService.executeQuery("select count(*) as count from jrun_tradecomments where "+sql).get(0).get("count"));
		int page =Common.toDigit(request.getParameter("page"),2147483647l,1l).intValue();
		int perpage=10;
		Map<String,Integer> multiInfo=Common.getMultiInfo(num, perpage, page);
		page=multiInfo.get("curpage");
		int start_limit=multiInfo.get("start_limit");
		String url = "eccredit.jsp?action=list&uid="+uid+(!from.equals("")?"&from="+from:"")+(!filter.equals("")?"&filter="+filter:"")+(!level.equals("")?"&level="+level:"");
		Map<String,Object> multi=Common.multi(num, perpage, page, url, 0, 10, true, false, null, false);
		request.setAttribute("multi", multi);
		List<Map<String,String>> comments = dataBaseService.executeQuery("SELECT tc.*, tl.subject, tl.baseprice FROM jrun_tradecomments tc LEFT JOIN jrun_tradelog tl ON tl.orderid=tc.orderid WHERE "+sql+" ORDER BY dateline DESC LIMIT "+start_limit+", "+perpage);
		for(Map<String,String> comment:comments){
			comment.put("expiration", (Common.toDigit(comment.get("dateline"))+30*86400)+"");
			comment.put("baseprice", Common.number_format(Double.valueOf(comment.get("baseprice")), "0.00"));
		}
		request.setAttribute("comments", comments);
		return mapping.findForward("ec_list");
	}
	public ActionForward explain(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {
		int timestamp = (Integer)(request.getAttribute("timestamp"));
		int jsprun_uid = (Integer)request.getSession().getAttribute("jsprun_uid");
		String explainsubmit = request.getParameter("explainsubmit");
		String id = request.getParameter("id");
		if(explainsubmit==null){
			return mapping.findForward("ec_explain");
		}else{
			List<Map<String,String>> comments = dataBaseService.executeQuery("SELECT explanation, dateline FROM jrun_tradecomments WHERE id='"+id+"' AND rateeid='"+jsprun_uid+"'");
			Map<String,String> comment = comments.size()>0?comments.get(0):null;
			if(comment==null){
				writeMessage(response,"没有找到相关评价!",true);
				return null;
			}else if(!Common.isEmpty(comment.get("explanation"))){
				writeMessage(response,"请勿重复解释。",true);
				return null;
			}else if(Common.toDigit(comment.get("dateline"))<timestamp-30*86400){
				writeMessage(response,"对不起,允许解释的有效期已过!",true);
				return null;
			}
			String explanation = request.getParameter("explanation");

⌨️ 快捷键说明

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