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