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