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

📄 mymagicboxaction.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
		Integer userid = members.getUid();
		String username = members.getUsername();
		if(username.equals(targetUsername)){
			return "对不起,不能赠送给自己,请返回修改。";
		}
		Membermagics memberMagics = memberMagicsService.getMemberMagics(userid, magicid);
		if(memberMagics.getNum()<magicnum){
			return "没有足够的道具可以操作,请返回修改。";
		}
		memberMagics.setNum((short)(memberMagics.getNum()-magicnum));
		Members targetMembers = memberService.findByName(targetUsername);
		if(targetMembers==null){
			return "对不起,您操作的用户并不存在,请返回修改。";
		}
		Integer targetUid = targetMembers.getUid();
		Short targetGroupid = targetMembers.getGroupid();
		Usergroups usergroups = userGroupService.findUserGroupById(targetGroupid);
		Short maxmagicsweight = usergroups.getMaxmagicsweight();
		boolean bool = false;
		try{
			bool = memberMagicsService.validateWeight(targetUid, maxmagicsweight, magicid, magicnum.longValue());
		}catch (Exception e) {
			e.printStackTrace();
		}
		if(!bool){
			return "对不起,您操作的用户没有足够的承重量,请返回修改。";
		}
		Membermagics targetMemberMagics = memberMagicsService.getMemberMagics(targetUid, magicid);
		if(targetMemberMagics==null){
			targetMemberMagics = new Membermagics();
			MembermagicsId targetMembermagicsId = new MembermagicsId();
			targetMembermagicsId.setMagicid(magicid);
			targetMembermagicsId.setUid(targetUid);
			targetMemberMagics.setId(targetMembermagicsId);
			targetMemberMagics.setNum(magicnum.shortValue());
		}else{
			targetMemberMagics.setNum((short)(targetMemberMagics.getNum()+magicnum));
		}
		Integer price = magics.getPrice();
		Magiclog magiclog = new Magiclog();
		MagiclogId magiclogId = new MagiclogId();
		int timestamp = (Integer)(request.getAttribute("timestamp"));
		magiclogId.setAction((byte)3);
		magiclogId.setAmount(magicnum.shortValue());
		magiclogId.setDateline(timestamp);
		magiclogId.setMagicid(magicid);
		magiclogId.setPrice(price);
		magiclogId.setTargetpid(0);
		magiclogId.setTargettid(0);
		magiclogId.setTargetuid(targetUid);
		magiclogId.setUid(userid);
		magiclog.setId(magiclogId);
		MemberMagic_MagiclogService memberMagic_MagiclogService = (MemberMagic_MagiclogService) BeanFactory
		.getBean("memberMagic_MagiclogService");
		if(memberMagic_MagiclogService.sendMagics(magiclog, memberMagics, targetMemberMagics)){
			return null;
		}else{
			return "道具操作失败";
		}
	}
	private String operating_sell(Integer magicnum,Integer price,Magics magics,HttpServletRequest request){
		if(magicnum==0){
			return "操作数量不合法,请返回修改。";
		}
		Map<String,String> settingsMap = (Map<String,String>)request.getAttribute("settings");
		String maxmagicpriceFromMap = null;
		String creditstaxFromMap = null;
		if(settingsMap!=null){
			maxmagicpriceFromMap = settingsMap.get("maxmagicprice");
			creditstaxFromMap = settingsMap.get("creditstax");
		}else{
			CreditsSetService creSetSer = (CreditsSetService) BeanFactory
			.getBean("creditsSetService");
			maxmagicpriceFromMap = ((Settings)creSetSer.getSetting("maxmagicprice")).getValue();
			creditstaxFromMap = ((Settings)creSetSer.getSetting("creditstax")).getValue();
		}
		
		maxmagicpriceFromMap = FormDataCheck.getDoubleString(maxmagicpriceFromMap);
		creditstaxFromMap = FormDataCheck.turnToDoubleString(creditstaxFromMap);
		Integer priceFromDB = magics.getPrice();
		Double maxmagicprice = Double.valueOf(maxmagicpriceFromMap);
		if(price>priceFromDB*(1+maxmagicprice/100)){
			return "道具设置价格过高,请返回修改。";
		}
		Double creditstax = Double.valueOf(creditstaxFromMap);
		double tempDouble = price-price*creditstax;
		if(tempDouble<1){
			return "您的道具售价扣除积分交易税后为 0,请返回修改。";
		}
		Members members = (Members)request.getSession().getAttribute("user");
		Integer userid = members.getUid();
		String username = members.getUsername();
		Membermagics memberMagics = memberMagicsService.getMemberMagics(userid, magics.getMagicid());
		if(memberMagics.getNum()<magicnum){
			return "没有足够的道具可以操作,请返回修改。";
		}
		memberMagics.setNum((short)(memberMagics.getNum()-magicnum));
		Magiclog magiclog = new Magiclog();
		MagiclogId magiclogId = new MagiclogId();
		int timestamp = (Integer)(request.getAttribute("timestamp"));
		magiclogId.setAction((byte)4);
		magiclogId.setAmount(magicnum.shortValue());
		magiclogId.setDateline(timestamp);
		magiclogId.setMagicid(magics.getMagicid());
		magiclogId.setPrice(price);
		magiclogId.setTargetpid(0);
		magiclogId.setTargettid(0);
		magiclogId.setTargetuid(0);
		magiclogId.setUid(userid);
		magiclog.setId(magiclogId);
		Magicmarket magicmarket = new Magicmarket();
		magicmarket.setMagicid(magics.getMagicid());
		magicmarket.setNum(magicnum.shortValue());
		magicmarket.setPrice(price);
		magicmarket.setUid(userid);
		magicmarket.setUsername(username);
		MemberMagic_MagiclogService memberMagic_MagiclogService = (MemberMagic_MagiclogService) BeanFactory
		.getBean("memberMagic_MagiclogService");
		if(memberMagic_MagiclogService.sellMagics(magiclog, memberMagics, magicmarket)){
			return null;
		}else{
			return "道具操作失败";
		}
	}
	private String operating_drop(Integer magicnum,Short magicid,HttpServletRequest request){
		if(magicnum==0){
			return "操作数量不合法,请返回修改。";
		}
		Integer userid = (Integer)request.getSession().getAttribute("jsprun_uid");
		Membermagics memberMagics = memberMagicsService.getMemberMagics(userid, magicid);
		if(memberMagics.getNum()-magicnum<0){
			return "没有足够的道具可以操作,请返回修改。";
		}
		memberMagics.setNum((short)(memberMagics.getNum()-magicnum));
		Magiclog magiclog = new Magiclog();
		MagiclogId magiclogId = new MagiclogId();
		int timestamp = (Integer)(request.getAttribute("timestamp"));
		magiclogId.setAction((byte)2);
		magiclogId.setAmount(magicnum.shortValue());
		magiclogId.setDateline(timestamp);
		magiclogId.setMagicid(magicid);
		magiclogId.setPrice(0);
		magiclogId.setTargetpid(0);
		magiclogId.setTargettid(0);
		magiclogId.setTargetuid(0);
		magiclogId.setUid(userid);
		magiclog.setId(magiclogId);
		MemberMagic_MagiclogService memberMagic_MagiclogService = (MemberMagic_MagiclogService) BeanFactory
				.getBean("memberMagic_MagiclogService");
		if(memberMagic_MagiclogService.dropMagicOfOneBoday(magiclog, memberMagics)){
			return null;
		}else{
			return "道具操作失败";
		}
	}
	private boolean magicIsUserable(String magicperm,String currentUsergroupId){
		Map tempMap = ((DataParse)BeanFactory.getBean("dataParse")).characterParse(magicperm, false);
		String usergroups = (String)tempMap.get("usergroups");
		if(usergroups!=null&&!usergroups.trim().equals("")){
			String[] usergroupIdArray = usergroups.split("\t");
			for(String usergroupId : usergroupIdArray){
				if(usergroupId.equals(currentUsergroupId)){
					return true;
				}
			}
			return false;
		}else{
			return false;
		}
	}
	private void setMagic_userVO(Magic_userVO valueObject,String typeid,List<Map<String,String>> resultList,String memberCredits,Integer memberId,Map<String,String> settingsMap,Map<String,String> usergroupMap,Map<Integer,String> extcreditsMap){
		
		valueObject.setCurrent(typeid==null?"all":typeid);
		valueObject.setSelectSendASell(Byte.parseByte(usergroupMap.get("allowmagics"))==2);
		List<MagicInfo> magicInfoList = valueObject.getMagicInfoList();
		for(Map<String,String> mapTemp : resultList){
			if(mapTemp!=null){
				String magicId = mapTemp.get("magicid");
				String identifier = mapTemp.get("identifier");
				String name = mapTemp.get("name");
				String description = mapTemp.get("description");
				String num = mapTemp.get("num");
				String weight = mapTemp.get("weight");
				if(magicId==null||identifier==null||num==null||weight==null){
					if(name==null&&description==null){
						System.out.println("In MyMagicBoxAction :没有获得数据");
					}else{
						System.out.println("In MyMagicBoxAction :不合法的数据");
					}
				}else{
					MagicInfo magicInfo = valueObject.getMagicInfo();
					magicInfo.setMagicId(Short.parseShort(magicId));
					magicInfo.setImageName(identifier.toLowerCase());
					magicInfo.setMagicName(name);
					magicInfo.setMagicExplaining(description);
					short magicCount = Short.parseShort(num);
					magicInfo.setMagicCount(magicCount);
					magicInfo.setAllMagicWeight(magicCount * Short.parseShort(weight));
					magicInfoList.add(magicInfo);
				}
			}
		}
		setMagic_navbarVO(valueObject, memberCredits, memberId, usergroupMap, settingsMap, extcreditsMap);
	}
	private void setMagic_navbarVO(Magic_navbarVO magic_navbarVO,String memberCredits,Integer memberId,Map<String,String> usergroupMap,Map<String,String> settingsMap,Map<Integer,String> extcreditsMap){
		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();
		
		String extcreditsFromMap = null;
		String creditstrans = null;
		if(settingsMap!=null){
			extcreditsFromMap = settingsMap.get("extcredits");
			creditstrans = settingsMap.get("creditstrans");
		}else{
			extcreditsFromMap = ((Settings)creSetSer.getSetting("extcredits")).getValue();
			creditstrans = ((Settings)creSetSer.getSetting("creditstrans")).getValue();
		}
		Map tempMap1 = ((DataParse) BeanFactory.getBean("dataParse")).characterParse(extcreditsFromMap, false);
		for(int i = 0;i<tempMap1.size();i++){
			Map tempMap2 = (Map)tempMap1.get(Integer.valueOf(i+1));
			String valueString = extcreditsMap.get(i+1);
			otherScoringList.add(magic_navbarVO.getOtherScoring((String)tempMap2.get("title"), valueString,(String)tempMap2.get("unit"),(Integer.valueOf(creditstrans)==i+1)));
		}
	}
	private String getAccessInfo(Integer memberId,Map<String,String> settingsMap,Map<String,String> usergroupMap,Byte action){
		String accessInfo = null;
		if(memberId==null){
			return accessInfo = "您还没有登陆";
		}
		if(settingsMap==null){
			return accessInfo = "获取信息失败,请与管理员联系。";
		}
		String magicstatus = settingsMap.get("magicstatus");
		if(magicstatus==null||!magicstatus.equals("1")){
			return accessInfo = "对不起,道具功能没有开启.请返回。";
		}
		String creditstrans = settingsMap.get("creditstrans");
		if (creditstrans==null||creditstrans.equals("0")) {
			return accessInfo = "对不起,交易积分没有被启用,无法使用此功能,请返回或与管理员联系。";
		}
		if(usergroupMap==null){
			return accessInfo = "获取用户组信息失败,请与管理员联系。";
		}
		String allowMagics = usergroupMap.get("allowmagics");
		if(allowMagics==null){
			return accessInfo = "没有获得您是否能够使用道具的信息.请联系管理员";
		}
		if(Byte.parseByte(allowMagics)<action){
			if(action==1){
				return accessInfo = "您所在的用户组不允许使用道具系统,请返回。";
			}else{
				return accessInfo = "您所在的用户组不允许转让道具,请返回。";
			}
		}
		return accessInfo;
	}
	private Map<String, Integer> multi(HttpServletRequest request,int uid, String sql, String url) {
		HttpSession session=request.getSession();
		Map<String, String> settings = (Map<String, String>) request.getAttribute("settings");
		Members member = uid > 0 ? (Members)session.getAttribute("user") : null;
		List<Map<String, String>> count = dataBaseService.executeQuery(sql);
		int num = Integer.valueOf(count.get(0).get("count"));
		int tpp = member != null && member.getTpp() > 0 ? member.getTpp(): Integer.valueOf(settings.get("topicperpage"));
		int page = Common.toDigit(request.getParameter("page"),2147483647l, 1L).intValue();
		Map<String,Integer> multiInfo=Common.getMultiInfo(num, tpp, page);
		page=multiInfo.get("curpage");
		Map<String,Object> multi=Common.multi(num, tpp, page, url, 0, 10, true, false, null, false);
		request.setAttribute("multipage", (String)multi.get("multipage"));
		Map<String, Integer> map = new HashMap<String, Integer>();
		map.put("beginsize", multiInfo.get("start_limit"));
		map.put("pagesize", tpp);
		return map;
	}
}

⌨️ 快捷键说明

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