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