|
@@ -15,6 +15,9 @@ import com.incubator.game.data.entity.ZjUser;
|
|
|
import com.incubator.game.data.jedis.RedisUtil;
|
|
|
import com.incubator.game.data.mq.RabbitMQUtil;
|
|
|
import com.incubator.game.data.po.*;
|
|
|
+import com.incubator.game.player.GPlayer;
|
|
|
+import com.incubator.game.player.Player;
|
|
|
+import com.incubator.game.util.PlayerUtil;
|
|
|
import com.incubator.game.util.UtilCore;
|
|
|
import com.incubator.message.proto.CommonProto;
|
|
|
|
|
@@ -39,9 +42,36 @@ public class ShopBuy extends NetHandler {
|
|
|
response.setCmd(CommonProto.Cmd.ShopBuyRes_VALUE);
|
|
|
|
|
|
|
|
|
- String userId = session.getUid();
|
|
|
- String productId = request.getDataValue("productId", String.class, "");//商品id
|
|
|
+ String userId = session.getPlayerId();
|
|
|
+ Player onlinePlayer = (Player)PlayerUtil.getOnlinePlayer(userId);
|
|
|
+ //查询自己的钱包
|
|
|
+ long foca = onlinePlayer.data.foca;//福卡
|
|
|
+ long gold = onlinePlayer.data.gold;//金蛋
|
|
|
+ long diamond = onlinePlayer.data.diamond;//钻石
|
|
|
|
|
|
+ String productId = request.getDataValue("productId", String.class, "");//商品id
|
|
|
+ long productSellPrice = Long.parseLong(request.getDataValue("productSellPrice", String.class, ""));//商品价格
|
|
|
+ String productUnit = request.getDataValue("productUnit", String.class, "");//商品单位(1人民币 2钻石 3福卡 4金蛋,
|
|
|
+ switch (productUnit){
|
|
|
+ case"2":
|
|
|
+ if (diamond<productSellPrice){
|
|
|
+ response.setCmd(CommonProto.Code.PARAMETER_ERR_VALUE);
|
|
|
+ response.setMessage("钻石不足");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ case"3":
|
|
|
+ if (foca<productSellPrice){
|
|
|
+ response.setCmd(CommonProto.Code.PARAMETER_ERR_VALUE);
|
|
|
+ response.setMessage("福卡不足");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ case"4":
|
|
|
+ if (gold<productSellPrice){
|
|
|
+ response.setCmd(CommonProto.Code.PARAMETER_ERR_VALUE);
|
|
|
+ response.setMessage("金蛋不足");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
JSONObject object = new JSONObject();
|
|
|
object.put("type", "shopBuy");
|
|
|
object.put("userId", userId);
|
|
@@ -51,134 +81,5 @@ public class ShopBuy extends NetHandler {
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-//
|
|
|
-// String userInfo = RedisUtil.get(RedisKeyConstant.USER_BASE + userId);
|
|
|
-// JSONObject userObject = JSONUtil.parseObj(userInfo);
|
|
|
-// Object lobbyUserObj = userObject.get("lobbyUser");
|
|
|
-// ZjUserLobbyPo lobbyUser = JSONUtil.toBean((JSONObject) lobbyUserObj, ZjUserLobbyPo.class);
|
|
|
-//
|
|
|
-// JSONArray userBackpack = userObject.getJSONArray("userBackpack");
|
|
|
-// JSONArray orderList = userObject.getJSONArray("orderList");
|
|
|
-// List<ZjBackpackPO> zjBackpackPOS = userBackpack.toList(ZjBackpackPO.class);
|
|
|
-//
|
|
|
-// List<ZjOrderPO> zjOrderPOS = orderList.toList(ZjOrderPO.class);
|
|
|
-//
|
|
|
-// String malls = RedisUtil.get(RedisKeyConstant.MALL_BASE);
|
|
|
-// JSONObject jsonObject = JSONUtil.parseObj(malls);
|
|
|
-// JSONArray mallArray = jsonObject.getJSONArray("mallList");
|
|
|
-// List<ZjProductPo> mallList = mallArray.toList(ZjProductPo.class);
|
|
|
-// Optional<ZjProductPo> result = mallList.stream()
|
|
|
-// .filter(product -> productId.equals(product.getProductId()))
|
|
|
-// .findFirst();
|
|
|
-//
|
|
|
-// if (result.isPresent()) {
|
|
|
-// ZjProductPo product = result.get();
|
|
|
-// String productList = product.getProductList();
|
|
|
-//
|
|
|
-// // 新增背包
|
|
|
-// // 解析商品集合json数组 添加到系统收支表
|
|
|
-// com.alibaba.fastjson2.JSONArray jsonArray = com.alibaba.fastjson2.JSONArray.parseArray(productList);
|
|
|
-// // 遍历 JSON 数组中的元素
|
|
|
-// for (int i = 0; i < jsonArray.size(); i++) {
|
|
|
-// com.alibaba.fastjson2.JSONObject json = jsonArray.getJSONObject(i);
|
|
|
-// // 获取 JSON 对象中的属性值
|
|
|
-// String gId = json.getString("goodsId");//物品id
|
|
|
-// Integer gNum = json.getInteger("goodsNum");//数量
|
|
|
-// String gType = json.getString("type");//类型 1:购买 2.赠送
|
|
|
-// //添加到背包中,并更新背包中物品数量
|
|
|
-// switch (gId) {
|
|
|
-// case "1":
|
|
|
-// lobbyUser.setGoldCoin((lobbyUser.getGoldCoin() + gNum));
|
|
|
-// break;
|
|
|
-// case "2":
|
|
|
-// lobbyUser.setDiamond((lobbyUser.getDiamond() + gNum));
|
|
|
-// break;
|
|
|
-// case "3":
|
|
|
-// lobbyUser.setFoca( (lobbyUser.getFoca() + gNum));
|
|
|
-// break;
|
|
|
-// }
|
|
|
-// // 提取gid为123的值
|
|
|
-// Optional<ZjBackpackPO> optionalItem = zjBackpackPOS.stream()
|
|
|
-// .filter(item -> item.getGoodsId().equals(gId))
|
|
|
-// .findFirst();
|
|
|
-// ZjBackpack zjBackpack = new ZjBackpack();
|
|
|
-// if (optionalItem.isPresent()) {
|
|
|
-// ZjBackpackPO item = optionalItem.get();
|
|
|
-// item.setGoodsNum(gNum + item.getGoodsNum());
|
|
|
-// zjBackpack.setBackId(item.getBackId());
|
|
|
-// zjBackpack.setGoodsId(gId);
|
|
|
-// zjBackpack.setUserId(userId);
|
|
|
-// zjBackpack.setGoodsNum(item.getGoodsNum());
|
|
|
-// JSONObject object = new JSONObject();
|
|
|
-// object.put("type", "saveBack");
|
|
|
-// object.put("data", zjBackpack);
|
|
|
-// try {
|
|
|
-// RabbitMQUtil.sendMessage(object.toString());
|
|
|
-// } catch (Exception e) {
|
|
|
-// e.printStackTrace();
|
|
|
-// }
|
|
|
-// }else {
|
|
|
-// ZjBackpackPO newItem = new ZjBackpackPO();
|
|
|
-// newItem.setBackId(UtilCore.getDateRandomId());
|
|
|
-// newItem.setGoodsId(gId);
|
|
|
-// newItem.setUserId(userId);
|
|
|
-// newItem.setGoodsNum(gNum);
|
|
|
-// zjBackpackPOS.add(newItem);
|
|
|
-// zjBackpack.setBackId(newItem.getBackId());
|
|
|
-// zjBackpack.setGoodsId(gId);
|
|
|
-// zjBackpack.setUserId(userId);
|
|
|
-// zjBackpack.setGoodsNum(newItem.getGoodsNum());
|
|
|
-// JSONObject object = new JSONObject();
|
|
|
-// object.put("type", "saveBack");
|
|
|
-// object.put("data", zjBackpack);
|
|
|
-// try {
|
|
|
-// RabbitMQUtil.sendMessage(object.toString());
|
|
|
-// } catch (Exception e) {
|
|
|
-// e.printStackTrace();
|
|
|
-// }
|
|
|
-// }
|
|
|
-// // 生成订单
|
|
|
-// ZjOrderPO zjOrder = new ZjOrderPO();
|
|
|
-// zjOrder.setOrderId(UtilCore.getDateRandomId());
|
|
|
-// String orderNo = UtilCore.getDateRandomId();//订单号
|
|
|
-// zjOrder.setOrderNo(orderNo);
|
|
|
-// zjOrder.setProductName(product.getProductName());
|
|
|
-// zjOrder.setOrderStatus("3");
|
|
|
-// zjOrder.setPayType("1");
|
|
|
-// zjOrder.setOrderType("1");
|
|
|
-// LocalDateTime now = LocalDateTime.now();
|
|
|
-// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
-// String dateString = now.format(formatter);
|
|
|
-// zjOrder.setCreateTime(dateString);
|
|
|
-// zjOrder.setMerchantInfo("武汉电子科技公司");
|
|
|
-// zjOrderPOS.add(zjOrder);
|
|
|
-//
|
|
|
-// ZjOrder zjOrder1 = new ZjOrder();
|
|
|
-// zjOrder1.setOrderId(zjOrder.getOrderId());
|
|
|
-// zjOrder1.setProductName(product.getProductName());
|
|
|
-// zjOrder1.setMerchantInfo("武汉电子科技公司");
|
|
|
-// zjOrder1.setUserId(userId);
|
|
|
-// zjOrder1.setOrderNo(orderNo);
|
|
|
-// zjOrder1.setOrderStatus("3");
|
|
|
-// zjOrder1.setPayType("1");
|
|
|
-// zjOrder1.setOrderType("1");
|
|
|
-// zjOrder1.setCreateTime(dateString);
|
|
|
-// JSONObject object = new JSONObject();
|
|
|
-// object.put("type", "saveOrder");
|
|
|
-// object.put("data", zjOrder1);
|
|
|
-// try {
|
|
|
-// RabbitMQUtil.sendMessage(object.toString());
|
|
|
-// } catch (Exception e) {
|
|
|
-// e.printStackTrace();
|
|
|
-// }
|
|
|
-// }
|
|
|
- // 更新背包
|
|
|
- //userObject.put("lobbyUser", lobbyUser);
|
|
|
- //userObject.put("userBackpack", zjBackpackPOS);
|
|
|
- //userObject.put("orderList", zjOrderPOS);
|
|
|
- //RedisUtil.set(RedisKeyConstant.USER_BASE + userId,userObject.toString());
|
|
|
-// }
|
|
|
}
|
|
|
}
|