package cn.newgxu.bbs.domain.item.impl; import cn.newgxu.bbs.common.exception.BBSException; import cn.newgxu.bbs.domain.item.StateBehavior; import cn.newgxu.bbs.domain.market.Item; import cn.newgxu.bbs.domain.market.ItemLine; import cn.newgxu.bbs.domain.user.User; /** * * @author polly * @since 4.0.0 * @version $Revision 1.1$ */ public class SelfStateChangeable implements StateBehavior { public void change(ItemLine itemLine) throws BBSException { // User self = itemLine.getUser(); // self.usePower(itemLine.getItem().getSelfPower()); // self.payFor(itemLine.getItem().getSelfMoney()); // self.save(); /*2011-2-20注释*/ /**由于数据库字段标准为无符号整型,所以不能插入负数*/ User self = itemLine.getUser(); // 2012-12-31,增加了用户体力清零功能。 if (itemLine.getItem().getObjectPower() == Item.TRUANCATE_POWER) { self.setCurrentPower(0); } else { self.addPower(itemLine.getItem().getSelfPower()); if(self.getCurrentPower()>self.getMaxPower()){ self.setCurrentPower(self.getMaxPower()); } } self.addMoney(itemLine.getItem().getSelfMoney()); self.addExp(itemLine.getItem().getObjectExp()); self.addBadboy(itemLine.getItem().getObjectBadboy()); self.save(); } }