back_recharge
parent
a4815854e0
commit
888761b2f0
|
@ -41,25 +41,21 @@ public class ItemLogic {
|
|||
int uid = iSession.getUid();
|
||||
User user = UserManager.getUser(uid);
|
||||
int msgId = MessageTypeProto.MessageType.USER_AND_PRICE_ITEM_RESPONSE_VALUE;
|
||||
String erroMags = checkItemResolve(itemList);
|
||||
if (!erroMags.isEmpty()){
|
||||
MessageUtil.sendErrorResponse(iSession,0,msgId,erroMags);
|
||||
}
|
||||
StringBuilder cost = new StringBuilder();
|
||||
StringBuilder reward = new StringBuilder();
|
||||
for (CommonProto.Item item :itemList){
|
||||
if (cost.length() == 0){
|
||||
cost = new StringBuilder(item.getItemId() + "#" + item.getItemNum());
|
||||
SItem sItem = SItem.getsItemMap().get(item.getItemId());
|
||||
if (sItem.getIfResolve() ==0){
|
||||
MessageUtil.sendErrorResponse(iSession,0,msgId,"物品中有不可分解道具");
|
||||
return;
|
||||
}
|
||||
reward = new StringBuilder(sItem.getResolveReward());
|
||||
reward = getStringBuilder(reward, item.getItemNum(), sItem);
|
||||
}else{
|
||||
cost.append("|").append(item.getItemId()).append("#").append(item.getItemNum());
|
||||
SItem sItem = SItem.getsItemMap().get(item.getItemId());
|
||||
if (sItem.getIfResolve() ==0){
|
||||
MessageUtil.sendErrorResponse(iSession,0,msgId,"");
|
||||
return;
|
||||
}
|
||||
reward.append("#").append(sItem.getResolveReward());
|
||||
reward = getStringBuilder(reward, item.getItemNum(), sItem);
|
||||
}
|
||||
}
|
||||
int[][] costItemArr = StringUtil.parseFiledInt2(cost.toString());
|
||||
|
@ -72,6 +68,27 @@ public class ItemLogic {
|
|||
sendUseAndPriceItemMessage(iSession, msgId, drop);
|
||||
}
|
||||
|
||||
private StringBuilder getStringBuilder(StringBuilder reward, int itemNum, SItem sItem) {
|
||||
for (int i =0; i < itemNum; i++){
|
||||
if (reward.length() == 0){
|
||||
reward = new StringBuilder(sItem.getResolveReward());
|
||||
}else{
|
||||
reward.append("#").append(sItem.getResolveReward());
|
||||
}
|
||||
}
|
||||
return reward;
|
||||
}
|
||||
|
||||
private String checkItemResolve(List<CommonProto.Item> itemList) {
|
||||
for (CommonProto.Item item :itemList){
|
||||
SItem sItem = SItem.getsItemMap().get(item.getItemId());
|
||||
if (sItem.getIfResolve() ==0){
|
||||
return "物品中有不可分解道具";
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
private void sendUseAndPriceItemMessage(ISession iSession, int msgId, CommonProto.Drop.Builder drop) {
|
||||
PlayerInfoProto.UseAndPriceItemResponse useAndPriceItemResponse = PlayerInfoProto.UseAndPriceItemResponse.newBuilder()
|
||||
.setDrop(drop)
|
||||
|
@ -113,22 +130,13 @@ public class ItemLogic {
|
|||
User user = UserManager.getUser(uid);
|
||||
EquipManager equipManager = user.getEquipManager();
|
||||
StringBuilder reward = new StringBuilder();
|
||||
if (equipIdsList.size() != 0){
|
||||
String erroMags = checkEquipResolve(equipIdsList,equipManager);
|
||||
if (!erroMags.isEmpty()){
|
||||
MessageUtil.sendErrorResponse(iSession,0,msgId,erroMags);
|
||||
}
|
||||
for (String equipId : equipIdsList) {
|
||||
Equip equip = equipManager.getEquipMap().get(equipId);
|
||||
if (equip == null){
|
||||
MessageUtil.sendErrorResponse(iSession,0,msgId,"");
|
||||
return;
|
||||
}
|
||||
if (!StringUtil.isEmpty(equip.getHeroId())){
|
||||
MessageUtil.sendErrorResponse(iSession,0,msgId,"");
|
||||
return;
|
||||
}
|
||||
SItem sItem = SItem.getsItemMap().get(equip.getEquipId());
|
||||
if (sItem.getIfResolve() ==0){
|
||||
MessageUtil.sendErrorResponse(iSession,0,msgId,"");
|
||||
return;
|
||||
}
|
||||
equipManager.remove(equipId);
|
||||
if (reward.length() == 0) {
|
||||
reward = new StringBuilder(sItem.getResolveReward());
|
||||
|
@ -136,8 +144,27 @@ public class ItemLogic {
|
|||
reward.append("#").append(sItem.getResolveReward());
|
||||
}
|
||||
}
|
||||
}
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user,StringUtil.parseFiledInt(reward.toString()),1,0);
|
||||
sendUseAndPriceItemMessage(iSession, msgId, drop);
|
||||
}
|
||||
|
||||
private String checkEquipResolve(List<String> equipIdsList,EquipManager equipManager) {
|
||||
if (equipIdsList.size() != 0){
|
||||
return "无可分解装备";
|
||||
}
|
||||
for (String equipId :equipIdsList){
|
||||
Equip equip = equipManager.getEquipMap().get(equipId);
|
||||
if (equip == null){
|
||||
return "无该装备";
|
||||
}
|
||||
if (!StringUtil.isEmpty(equip.getHeroId())){
|
||||
return "已穿戴";
|
||||
}
|
||||
SItem sItem = SItem.getsItemMap().get(equip.getEquipId());
|
||||
if (sItem.getIfResolve() ==0){
|
||||
return "不可分解";
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue