📄 magicmarketaction.java
字号:
package cn.jsprun.struts.foreg.actions;
import java.util.ArrayList;
import java.util.HashMap;
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.domain.Magicmarket;
import cn.jsprun.domain.Magics;
import cn.jsprun.domain.Members;
import cn.jsprun.domain.Settings;
import cn.jsprun.foreg.service.MagicMarketService;
import cn.jsprun.foreg.service.MemberMagicsService;
import cn.jsprun.foreg.vo.magic.Magic_marketVO;
import cn.jsprun.foreg.vo.magic.Magic_market_prepareoperationVO;
import cn.jsprun.foreg.vo.magic.Magic_navbarVO;
import cn.jsprun.foreg.vo.magic.Magic_marketVO.MagicInfo;
import cn.jsprun.foreg.vo.magic.Magic_marketVO.MagicOfDB;
import cn.jsprun.foreg.vo.magic.Magic_navbarVO.OtherScoring;
import cn.jsprun.service.basicsettings.CreditsSetService;
import cn.jsprun.service.otherset.OtherSetService;
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.FormDataCheck;
public class MagicMarketAction extends DispatchAction {
private String tablePrefix = "jrun_";
private MemberMagicsService memberMagicsService = (MemberMagicsService)BeanFactory.getBean("memberMagicsService");
private MagicMarketService magicMarketService = (MagicMarketService)BeanFactory.getBean("magicMarketService");
private CreditsSetService creSetSer = (CreditsSetService) BeanFactory.getBean("creditsSetService");
private OtherSetService otherSetService = (OtherSetService) BeanFactory.getBean("otherSetService");
private DataBaseService dataBaseService = (DataBaseService) BeanFactory.getBean("dataBaseService");
public ActionForward showMagics(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
HttpSession session = request.getSession();
Integer memberId = (Integer)session.getAttribute("jsprun_uid");
Map<String,String> settingsMap = (Map<String,String>)request.getAttribute("settings");
Map<String,String> usergroupMap = (Map<String,String>)request.getAttribute("usergroups");
String accessInfo = getAccessInfo(memberId, settingsMap, usergroupMap, (byte)1);
if(accessInfo!=null){
request.setAttribute("errorInfo", accessInfo);
return mapping.findForward("showMessage");
}
Map<Integer,String> extcredits = new HashMap<Integer, String>();
Members currentMember = (Members)session.getAttribute("user");
String memberCredits = String.valueOf(currentMember.getCredits());
extcredits.put(1, String.valueOf(currentMember.getExtcredits1()));
extcredits.put(2, String.valueOf(currentMember.getExtcredits2()));
extcredits.put(3, String.valueOf(currentMember.getExtcredits3()));
extcredits.put(4, String.valueOf(currentMember.getExtcredits4()));
extcredits.put(5, String.valueOf(currentMember.getExtcredits5()));
extcredits.put(6, String.valueOf(currentMember.getExtcredits6()));
extcredits.put(7, String.valueOf(currentMember.getExtcredits7()));
extcredits.put(8, String.valueOf(currentMember.getExtcredits8()));
String operation = request.getParameter("operation");
String extcreditsFromMap = settingsMap.get("extcredits");
String creditstrans = settingsMap.get("creditstrans");
Map tempMap1 = ((DataParse) BeanFactory.getBean("dataParse")).characterParse(extcreditsFromMap, false);
Map tempMap2 = (Map)tempMap1.get(Integer.valueOf(creditstrans));
String unit = (String)tempMap2.get("title");
StringBuffer sqlBuffer = new StringBuffer("select count(*) as count from "+tablePrefix+"magicmarket");
Magic_marketVO magic_marketVO = new Magic_marketVO();
if(operation==null){
Map<String,Integer> rMap = multi(request, memberId, sqlBuffer.toString(), "magic.jsp?action=market");
int beginsize = rMap.get("beginsize");
int pagesize = rMap.get("pagesize");
showMagics_null(unit, magic_marketVO, beginsize, pagesize, tempMap1, memberCredits, memberId, creditstrans, usergroupMap, settingsMap, extcredits);
}else if(operation.equals("myMagics")){
sqlBuffer.append(" WHERE uid="+memberId);
Map<String,Integer> rMap = multi(request, memberId, sqlBuffer.toString(), "magic.jsp?action=market&operation="+operation);
int beginsize = rMap.get("beginsize");
int pagesize = rMap.get("pagesize");
showMagics_myMagics(unit, magic_marketVO, beginsize, pagesize, tempMap1, memberCredits, memberId, creditstrans, usergroupMap, settingsMap, extcredits);
}else {
String magicidFromSelect = request.getParameter("magicidFromSelect");
String orderby = request.getParameter("orderby");
String ascdesc = request.getParameter("ascdesc");
if(magicidFromSelect!=null&&!magicidFromSelect.equals("")){
sqlBuffer.append(" WHERE magicid="+magicidFromSelect+" ");
}
if(orderby!=null&&!orderby.equals("")){
sqlBuffer.append(" ORDER BY "+orderby+" ");
if(ascdesc!=null&&!ascdesc.equals("")){
sqlBuffer.append(ascdesc);
}
}
Map<String,Integer> rMap = multi(request, memberId, sqlBuffer.toString(), "magic.jsp?action=market&operation="+operation+"&magicidFromSelect="+magicidFromSelect+"&orderby="+orderby+"&ascdesc="+ascdesc);
int beginsize = rMap.get("beginsize");
int pagesize = rMap.get("pagesize");
showMagics_find(unit, magic_marketVO, magicidFromSelect, orderby, ascdesc, beginsize, pagesize, tempMap1, memberCredits, memberId, creditstrans, usergroupMap, settingsMap, extcredits);
}
request.setAttribute("valueObject", magic_marketVO);
return mapping.findForward("magic_market");
}
private void showMagics_null(String unit,Magic_marketVO magic_marketVO,int firstNmu,int maxNum,Map extcreditsMap,String memberCredits,Integer memberId,String creditstrans,Map<String,String> usergroupMap,Map<String,String> settingsMap,Map<Integer,String> extcredits){
List<Magicmarket> magicmarketList = magicMarketService.getAllMagicFormMarket(firstNmu, maxNum);
List<Magics> magicsList = otherSetService.queryAllMagic();
Map<Short, Magics> magicMap = MagicsListToMagicsMap(magicsList);
encapsulationVO(magic_marketVO, unit, true, magicmarketList, magicMap, magicsList, null, null, null, extcreditsMap, memberCredits, memberId, creditstrans, usergroupMap, settingsMap, extcredits);
}
private Map<Short, Magics> MagicsListToMagicsMap(List<Magics> magicsList){
Map<Short,Magics> map = new HashMap<Short, Magics>();
for(int i = 0;i<magicsList.size();i++){
map.put(magicsList.get(i).getMagicid(), magicsList.get(i));
}
return map;
}
private void encapsulationVO(Magic_marketVO magic_marketVO,String unit,
boolean selectFind,List<Magicmarket> magicmarketList,
Map<Short,Magics> magicMap,List<Magics> magicsList,
String selectAscdesc,String selectOrderby,Short selectMagicId,
Map extcreditsMap,String memberCredits,Integer memberId,String creditstrans,
Map<String,String> usergroupMap,Map<String,String> settingsMap,Map<Integer,String> extcredits){
magic_marketVO.setMagicUnit(unit);
magic_marketVO.setSelectFind(selectFind);
magic_marketVO.setSelectAscdesc(selectAscdesc);
magic_marketVO.setSelectMagicId(selectMagicId);
magic_marketVO.setSelectOrderby(selectOrderby);
List<MagicInfo> magicInfoList = magic_marketVO.getMagicInfoList();
List<MagicOfDB> magicOfDBList = magic_marketVO.getMagicOfDBList();
if (magicmarketList != null) {
for (int i = 0; i < magicmarketList.size(); i++) {
MagicInfo magicInfo = magic_marketVO.getMagicInfo();
Magicmarket magicmarket = magicmarketList.get(i);
magicInfo.setDebusOrBuy(memberId.intValue() == magicmarket.getUid()
.intValue() ? "debus" : "buy");
magicInfo.setMagicFunction(magicMap.get(
magicmarket.getMagicid()).getDescription());
magicInfo.setMagicId(magicmarket.getMagicid());
magicInfo.setMagicName(magicMap.get(magicmarket.getMagicid())
.getName());
magicInfo.setMagicNumber(magicmarket.getNum().intValue());
magicInfo.setMagicPrice(magicmarket.getPrice());
magicInfo.setMagicWeight(magicMap.get(magicmarket.getMagicid())
.getWeight().intValue());
magicInfo.setSellerId(magicmarket.getUid());
magicInfo.setSellerName(magicmarket.getUsername());
magicInfo.setMagicMarketId(magicmarket.getMid());
magicInfoList.add(magicInfo);
}
}
if (magicsList != null) {
for (int i = 0; i < magicsList.size(); i++) {
MagicOfDB magicOfDB = magic_marketVO.getMagicOfDB();
Magics magics = magicsList.get(i);
magicOfDB.setMagicId(magics.getMagicid());
magicOfDB.setMagicName(magics.getName());
magicOfDBList.add(magicOfDB);
}
}
encapsulationMagic_navbarVO(magic_marketVO, memberCredits, memberId, extcreditsMap, creditstrans, usergroupMap, settingsMap, extcredits);
}
private void encapsulationMagic_navbarVO(Magic_navbarVO magic_navbarVO,String memberCredits,Integer memberId, Map extcreditsMap,String creditstrans,Map<String,String> usergroupMap,Map<String,String> settingsMap,Map<Integer,String> extcredits){
Integer magicWeightNow = 0;
String sql = "SELECT SUM(mm.num*m.weight) AS s FROM "+tablePrefix+"membermagics AS mm LEFT JOIN "+tablePrefix+"magics AS m ON mm.magicid=m.magicid WHERE mm.uid="+memberId;
List<Map<String,String>> resultTemp = dataBaseService.executeQuery(sql, new String[]{"s"});
if(resultTemp!=null&&resultTemp.size()>0){
Map<String,String> resultMap = resultTemp.get(0);
if(resultMap!=null){
String reuslt = resultMap.get("s");
if(reuslt!=null){
magicWeightNow = Integer.valueOf(reuslt);
}
}
}
String magicmarket = settingsMap.get("magicmarket");
magic_navbarVO.setOpenmarket(magicmarket!=null&&magicmarket.equals("1"));
magic_navbarVO.setAllowMagicWeigth(usergroupMap.get("maxmagicsweight"));
magic_navbarVO.setMagicWeigthNow(magicWeightNow.toString());
magic_navbarVO.setScoring(memberCredits);
magic_navbarVO.setAgio(usergroupMap.get("magicsdiscount"));
List<OtherScoring> otherScoringList = magic_navbarVO.getOtherScoringList();
for(int i = 0;i<extcreditsMap.size();i++){
Map tempMap2 = (Map)extcreditsMap.get(Integer.valueOf(i+1));
String valueString = extcredits.get(i+1);
otherScoringList.add(magic_navbarVO.getOtherScoring((String)tempMap2.get("title"), valueString,(String)tempMap2.get("unit"),Integer.valueOf(creditstrans)==i+1));
}
}
private void showMagics_myMagics(String unit,Magic_marketVO magic_marketVO,int firstNmu,int maxNum,Map extcreditsMap,String memberCredits,Integer memberId,String creditstrans,Map<String,String> usergroupMap,Map<String,String> settingsMap,Map<Integer,String> extcredits){
List<Magicmarket> magicmarketList = magicMarketService.getMagicFromMarketByUid(memberId, firstNmu, maxNum);
List<Short> magicIdList = new ArrayList<Short>();
for(int i = 0;i<magicmarketList.size();i++){
magicIdList.add(magicmarketList.get(i).getMagicid());
}
List<Magics> magicsList = otherSetService.getMagicListByIdList(magicIdList);
Map<Short,Magics> magicMap = MagicsListToMagicsMap(magicsList);
encapsulationVO(magic_marketVO, unit, false, magicmarketList, magicMap, null, null, null, null, extcreditsMap, memberCredits, memberId, creditstrans, usergroupMap, settingsMap, extcredits);
}
private void showMagics_find(String unit,Magic_marketVO magic_marketVO,String magicidFromSelect,String orderby,String ascdesc,int firstNmu,int maxNum,Map extcreditsMap,String memberCredits,Integer memberId,String creditstrans,Map<String,String> usergroupMap,Map<String,String> settingsMap,Map<Integer,String> extcredits){
Short magicid = Short.valueOf(FormDataCheck.getNumberFromForm(magicidFromSelect));
List<Magicmarket> magicmarketList = magicMarketService.getMagicFormMarketByMagicId(magicid, orderby, ascdesc, firstNmu, maxNum);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -