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

📄 magicmarketaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
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 + -