Browse Source

Merge remote-tracking branch 'origin/master'

johnclot69 3 months ago
parent
commit
4e725ce927
34 changed files with 2492 additions and 10 deletions
  1. 3 0
      incubator-common/build.gradle
  2. 5 0
      incubator-game/src/main/java/com/incubator/game/constant/RedisKeyConstant.java
  3. 126 0
      incubator-game/src/main/java/com/incubator/game/data/entity/ZjBackpack.java
  4. 194 0
      incubator-game/src/main/java/com/incubator/game/data/entity/ZjClub.java
  5. 130 0
      incubator-game/src/main/java/com/incubator/game/data/entity/ZjClubMember.java
  6. 55 0
      incubator-game/src/main/java/com/incubator/game/data/entity/ZjGoods.java
  7. 36 0
      incubator-game/src/main/java/com/incubator/game/data/entity/ZjMasterscoreLog.java
  8. 148 0
      incubator-game/src/main/java/com/incubator/game/data/entity/ZjMemberAddr.java
  9. 397 0
      incubator-game/src/main/java/com/incubator/game/data/entity/ZjOrder.java
  10. 138 0
      incubator-game/src/main/java/com/incubator/game/data/entity/ZjProduct.java
  11. 54 0
      incubator-game/src/main/java/com/incubator/game/data/entity/ZjTrading.java
  12. 196 0
      incubator-game/src/main/java/com/incubator/game/data/entity/ZjUser.java
  13. 66 0
      incubator-game/src/main/java/com/incubator/game/data/entity/ZjUserGamelog.java
  14. 285 0
      incubator-game/src/main/java/com/incubator/game/data/entity/ZjUserLongin.java
  15. 63 0
      incubator-game/src/main/java/com/incubator/game/data/mq/RabbitMQUtil.java
  16. 86 0
      incubator-game/src/main/java/com/incubator/game/data/po/MessagePO.java
  17. 9 8
      incubator-game/src/main/java/com/incubator/game/data/po/ZjOrderPO.java
  18. 31 1
      incubator-game/src/main/java/com/incubator/game/handler/address/SaveAddress.java
  19. 30 0
      incubator-game/src/main/java/com/incubator/game/handler/club/AgreeOrRefuseJoin.java
  20. 19 0
      incubator-game/src/main/java/com/incubator/game/handler/club/ApplyJoinClub.java
  21. 76 0
      incubator-game/src/main/java/com/incubator/game/handler/club/CreateClub.java
  22. 36 0
      incubator-game/src/main/java/com/incubator/game/handler/club/DeleteMember.java
  23. 38 0
      incubator-game/src/main/java/com/incubator/game/handler/club/DissolveClub.java
  24. 54 0
      incubator-game/src/main/java/com/incubator/game/handler/club/QuitClub.java
  25. 10 0
      incubator-game/src/main/java/com/incubator/game/handler/club/SetMainClub.java
  26. 51 0
      incubator-game/src/main/java/com/incubator/game/handler/http/WxLogin.java
  27. 3 0
      incubator-game/src/main/java/com/incubator/game/handler/login/LoginGameHandler.java
  28. 49 1
      incubator-game/src/main/java/com/incubator/game/handler/mall/ShopBuy.java
  29. 42 0
      incubator-game/src/main/java/com/incubator/game/handler/message/MessageInfo.java
  30. 14 0
      incubator-game/src/main/java/com/incubator/game/handler/user/UpdateAvatarUrlHandler.java
  31. 14 0
      incubator-game/src/main/java/com/incubator/game/handler/user/UpdateCharacterUrlHandler.java
  32. 14 0
      incubator-game/src/main/java/com/incubator/game/handler/user/UpdateNickNameHandler.java
  33. 16 0
      incubator-game/src/main/java/com/incubator/game/handler/user/UpdatePhoneHandler.java
  34. 4 0
      incubator-message/src/main/proto/CommonProto.proto

+ 3 - 0
incubator-common/build.gradle

@@ -36,6 +36,9 @@ dependencies {
     api 'it.unimi.dsi:dsiutils:2.7.3' // 数据结构和算法工具
     api 'org.reflections:reflections:0.10.2' // 反射工具
     api 'cn.hutool:hutool-all:5.8.25' // Hutool 工具包
+//    api 'org.springframework.boot:spring-boot-starter-amqp:2.6.3' //mq
+    api 'com.rabbitmq:amqp-client:5.14.2' //mq
+    api 'org.springframework:spring-web:5.3.33' //web
 
     // Excel 操作
     api 'com.alibaba:easyexcel:4.0.3' // EasyExcel

+ 5 - 0
incubator-game/src/main/java/com/incubator/game/constant/RedisKeyConstant.java

@@ -27,4 +27,9 @@ public class RedisKeyConstant {
      * 查看个人活动
      */
     public static final String ZJ_USER_EVENT_KEY = "zj:user:event:activity";
+
+    /**
+     * 查看个人消息
+     */
+    public static final String ZJ_USER_MESSAGE = "zj:user:message:";
 }

+ 126 - 0
incubator-game/src/main/java/com/incubator/game/data/entity/ZjBackpack.java

@@ -0,0 +1,126 @@
+package com.incubator.game.data.entity;
+
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author WangYong
+ * @since 2024-11-11
+ */
+public class ZjBackpack implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    private String backId;
+
+    /**
+     * 用户id
+     */
+    private String userId;
+
+    /**
+     * 物品id
+     */
+    private String goodsId;
+
+    /**
+     * 物品数量
+     */
+    private Integer goodsNum;
+
+
+    /**
+     * 有效期道具(0永久 1 一次性  2有效期未使用 3有效期使用 )
+     */
+//    @TableField("use_status")
+    private String useStatus;
+
+    /**
+     * 有效期道具使用后到期时间
+     */
+//    @TableField("use_time")
+    private Date useTime;
+
+    /**
+     * 是否使用 Y:N
+     */
+    private String isEmploy;
+
+    /**
+     * 机器人id
+     */
+    private String robotId;
+
+    public String getBackId() {
+        return backId;
+    }
+
+    public void setBackId(String backId) {
+        this.backId = backId;
+    }
+
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public String getGoodsId() {
+        return goodsId;
+    }
+
+    public void setGoodsId(String goodsId) {
+        this.goodsId = goodsId;
+    }
+
+    public Integer getGoodsNum() {
+        return goodsNum;
+    }
+
+    public void setGoodsNum(Integer goodsNum) {
+        this.goodsNum = goodsNum;
+    }
+
+    public String getUseStatus() {
+        return useStatus;
+    }
+
+    public void setUseStatus(String useStatus) {
+        this.useStatus = useStatus;
+    }
+
+    public Date getUseTime() {
+        return useTime;
+    }
+
+    public void setUseTime(Date useTime) {
+        this.useTime = useTime;
+    }
+
+    public String getIsEmploy() {
+        return isEmploy;
+    }
+
+    public void setIsEmploy(String isEmploy) {
+        this.isEmploy = isEmploy;
+    }
+
+    public String getRobotId() {
+        return robotId;
+    }
+
+    public void setRobotId(String robotId) {
+        this.robotId = robotId;
+    }
+}

+ 194 - 0
incubator-game/src/main/java/com/incubator/game/data/entity/ZjClub.java

@@ -0,0 +1,194 @@
+package com.incubator.game.data.entity;
+
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * Author:  xhb
+ * Date:  2024-11-12 16:02
+*/
+public class ZjClub implements Serializable {
+    /**
+     * 主键id
+     */
+    private String clubId;
+
+    /**
+     * 俱乐部名称
+     */
+    private String clubName;
+
+    /**
+     * 俱乐部宣传图
+     */
+    private String clubImg;
+
+    /**
+     * 俱乐部人数
+     */
+    private Integer clubMemberNum;
+
+    /**
+     * 俱乐部描述
+     */
+    private String clubDescription;
+
+    /**
+     * 俱乐部掌门人
+     */
+    private String clubCreator;
+
+    /**
+     * 俱乐部状态 0 删除  1 正常 2 封禁
+     */
+    private String clubStatus;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 俱乐部地域
+     */
+    private String clubAddress;
+
+    /**
+     * 俱乐部联赛冠军club_championship
+     */
+    private Integer clubChampionship;
+
+    /**
+     * 俱乐部等级
+     */
+    private Integer clubLevel;
+
+    /**
+     * 俱乐部编号
+     */
+   private String clubNo;
+
+    /**
+     * 俱乐部大师分
+     */
+    private Integer clubMasterScore;
+
+    /**
+     * 俱乐部推广邀请人数
+     */
+    private Integer extendInviteNum;
+    private static final long serialVersionUID = 1L;
+
+    public String getClubId() {
+        return clubId;
+    }
+
+    public void setClubId(String clubId) {
+        this.clubId = clubId;
+    }
+
+    public String getClubName() {
+        return clubName;
+    }
+
+    public void setClubName(String clubName) {
+        this.clubName = clubName;
+    }
+
+    public String getClubImg() {
+        return clubImg;
+    }
+
+    public void setClubImg(String clubImg) {
+        this.clubImg = clubImg;
+    }
+
+    public Integer getClubMemberNum() {
+        return clubMemberNum;
+    }
+
+    public void setClubMemberNum(Integer clubMemberNum) {
+        this.clubMemberNum = clubMemberNum;
+    }
+
+    public String getClubDescription() {
+        return clubDescription;
+    }
+
+    public void setClubDescription(String clubDescription) {
+        this.clubDescription = clubDescription;
+    }
+
+    public String getClubCreator() {
+        return clubCreator;
+    }
+
+    public void setClubCreator(String clubCreator) {
+        this.clubCreator = clubCreator;
+    }
+
+    public String getClubStatus() {
+        return clubStatus;
+    }
+
+    public void setClubStatus(String clubStatus) {
+        this.clubStatus = clubStatus;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getClubAddress() {
+        return clubAddress;
+    }
+
+    public void setClubAddress(String clubAddress) {
+        this.clubAddress = clubAddress;
+    }
+
+    public Integer getClubChampionship() {
+        return clubChampionship;
+    }
+
+    public void setClubChampionship(Integer clubChampionship) {
+        this.clubChampionship = clubChampionship;
+    }
+
+    public Integer getClubLevel() {
+        return clubLevel;
+    }
+
+    public void setClubLevel(Integer clubLevel) {
+        this.clubLevel = clubLevel;
+    }
+
+    public String getClubNo() {
+        return clubNo;
+    }
+
+    public void setClubNo(String clubNo) {
+        this.clubNo = clubNo;
+    }
+
+    public Integer getClubMasterScore() {
+        return clubMasterScore;
+    }
+
+    public void setClubMasterScore(Integer clubMasterScore) {
+        this.clubMasterScore = clubMasterScore;
+    }
+
+    public Integer getExtendInviteNum() {
+        return extendInviteNum;
+    }
+
+    public void setExtendInviteNum(Integer extendInviteNum) {
+        this.extendInviteNum = extendInviteNum;
+    }
+}

+ 130 - 0
incubator-game/src/main/java/com/incubator/game/data/entity/ZjClubMember.java

@@ -0,0 +1,130 @@
+package com.incubator.game.data.entity;
+
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * Author:  xhb
+ * Date:  2024-11-12 16:02
+*/
+public class ZjClubMember implements Serializable {
+    /**
+     * 主键id
+     */
+    private String memberId;
+
+    /**
+     * 用户id
+     */
+    private String userId;
+
+    /**
+     * 俱乐部id
+     */
+    private String clubId;
+
+    /**
+     * 加入状态 0:申请加入 1:同意加入 2:拒绝加入 3:退出俱乐部 4:删除俱乐部
+     */
+    private String memberStatus;
+
+    /**
+     * 加入时间
+     */
+    private Date joinTime;
+
+    /**
+     * 退出时间
+     */
+    private Date quitTime;
+
+    /**
+     * 申请理由
+     */
+    private String requestExplain;
+
+    /**
+     * 申请渠道
+     */
+    private String requestChannel;
+
+    /**
+     * 用户归属形式
+     */
+    private String ownerType;
+
+    private static final long serialVersionUID = 1L;
+
+    public String getMemberId() {
+        return memberId;
+    }
+
+    public void setMemberId(String memberId) {
+        this.memberId = memberId;
+    }
+
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public String getClubId() {
+        return clubId;
+    }
+
+    public void setClubId(String clubId) {
+        this.clubId = clubId;
+    }
+
+    public String getMemberStatus() {
+        return memberStatus;
+    }
+
+    public void setMemberStatus(String memberStatus) {
+        this.memberStatus = memberStatus;
+    }
+
+    public Date getJoinTime() {
+        return joinTime;
+    }
+
+    public void setJoinTime(Date joinTime) {
+        this.joinTime = joinTime;
+    }
+
+    public Date getQuitTime() {
+        return quitTime;
+    }
+
+    public void setQuitTime(Date quitTime) {
+        this.quitTime = quitTime;
+    }
+
+    public String getRequestExplain() {
+        return requestExplain;
+    }
+
+    public void setRequestExplain(String requestExplain) {
+        this.requestExplain = requestExplain;
+    }
+
+    public String getRequestChannel() {
+        return requestChannel;
+    }
+
+    public void setRequestChannel(String requestChannel) {
+        this.requestChannel = requestChannel;
+    }
+
+    public String getOwnerType() {
+        return ownerType;
+    }
+
+    public void setOwnerType(String ownerType) {
+        this.ownerType = ownerType;
+    }
+}

+ 55 - 0
incubator-game/src/main/java/com/incubator/game/data/entity/ZjGoods.java

@@ -0,0 +1,55 @@
+package com.incubator.game.data.entity;
+
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author WangYong
+ * @since 2024-11-11
+ */
+public class ZjGoods implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    private String goodsId;
+
+    /**
+     * 物品名称
+     */
+    private String goodsName;
+
+    /**
+     * 物品描述
+     */
+    private String goodsDescription;
+
+    /**
+     * 物品分类
+     */
+    private String goodsSort;
+
+    /**
+     * 物品图片
+     */
+    private String goodsImg;
+
+    private Date createTime;
+    /**
+     * 物品时效(-1永久,1:1天或1次,以此类推 或者直接填写到期时间)
+     */
+    private String goodsAgeing;
+
+    /**
+     * 物品类型(1时效  2次数)
+     */
+    private String goodsType;
+
+}

+ 36 - 0
incubator-game/src/main/java/com/incubator/game/data/entity/ZjMasterscoreLog.java

@@ -0,0 +1,36 @@
+package com.incubator.game.data.entity;
+
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author WangYong
+ * @since 2024-11-11
+ */
+public class ZjMasterscoreLog implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private String id;
+
+    private String userId;
+
+    /**
+     * 大师分
+     */
+    private Integer masterScore;
+
+    private Date createTime;
+
+    /**
+     * 类型
+     */
+    private String type;
+
+
+}

+ 148 - 0
incubator-game/src/main/java/com/incubator/game/data/entity/ZjMemberAddr.java

@@ -0,0 +1,148 @@
+package com.incubator.game.data.entity;
+
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 用户配送地址
+ * </p>
+ *
+ * @author WangYong
+ * @since 2024-11-11
+ */
+public class ZjMemberAddr implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    private String addrId;
+
+    /**
+     * 用户ID
+     */
+    private String userId;
+
+    /**
+     * 收货人
+     */
+    private String receiver;
+
+    /**
+     * 城市
+     */
+    private String city;
+
+    /**
+     * 地址
+     */
+    private String addr;
+
+    /**
+     * 手机
+     */
+    private String mobile;
+
+    /**
+     * 状态,1正常,0无效
+     */
+    private Integer status;
+
+    /**
+     * 是否默认地址 1
+     */
+    private Integer commonAddr;
+
+    /**
+     * 建立时间
+     */
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    public String getAddrId() {
+        return addrId;
+    }
+
+    public void setAddrId(String addrId) {
+        this.addrId = addrId;
+    }
+
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public String getReceiver() {
+        return receiver;
+    }
+
+    public void setReceiver(String receiver) {
+        this.receiver = receiver;
+    }
+
+    public String getCity() {
+        return city;
+    }
+
+    public void setCity(String city) {
+        this.city = city;
+    }
+
+    public String getAddr() {
+        return addr;
+    }
+
+    public void setAddr(String addr) {
+        this.addr = addr;
+    }
+
+    public String getMobile() {
+        return mobile;
+    }
+
+    public void setMobile(String mobile) {
+        this.mobile = mobile;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public Integer getCommonAddr() {
+        return commonAddr;
+    }
+
+    public void setCommonAddr(Integer commonAddr) {
+        this.commonAddr = commonAddr;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+}

+ 397 - 0
incubator-game/src/main/java/com/incubator/game/data/entity/ZjOrder.java

@@ -0,0 +1,397 @@
+package com.incubator.game.data.entity;
+
+
+import jdk.nashorn.internal.objects.annotations.Getter;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * <p>
+ * 订单主表
+ * </p>
+ *
+ * @author WangYong
+ * @since 2024-11-11
+ */
+public class ZjOrder implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 订单id
+     */
+    private String orderId;
+
+    /**
+     * 订单号
+     */
+    private String orderNo;
+
+    /**
+     * 商品ID
+     */
+    private String productId;
+
+    /**
+     * 商品类型  1.实物商品,2.游戏虚拟道具
+     */
+    private Integer mallType;
+
+    /**
+     * 用户id
+     */
+    private String userId;
+
+    /**
+     * 收货地址id
+     */
+    private String shippingAddress;
+
+    /**
+     * 配送方式  1.韵达,2.菜鸟
+     */
+    private String distributionMode;
+
+    /**
+     * 收货方式  1.送货上门,2.驿站自取
+     */
+    private String receiveGoodsMode;
+
+    /**
+     * 发票类型  1.不含发票,2.xx公司发票
+     */
+    private String invoiceMode;
+
+    /**
+     * 商品总金额(不含优惠折扣)
+     */
+    private BigDecimal totalPrice;
+
+    /**
+     * 订单金额(含优惠折扣)
+     */
+    private BigDecimal orderPrice;
+
+    /**
+     * 实际付款金额(包含运费)
+     */
+    private BigDecimal payPrice;
+
+    /**
+     * 买家留言
+     */
+    private String buyerRemark;
+
+    /**
+     * 支付方式(1 微信支付  2  其他支付)
+     */
+    private String payType;
+
+    /**
+     * 付款状态(N未付款 Y已付款)
+     */
+    private String payStatus;
+
+    /**
+     * 付款时间
+     */
+    private String payTime;
+
+    /**
+     * 订单状态( 0  取消  1 进行中 2 待取消 3 已完成)
+     */
+    private String orderStatus;
+
+    /**
+     * 订单是否已结算(N未结算 Y已结算)
+     */
+    private String isSettled;
+
+    /**
+     * 微信支付交易号
+     */
+    private String transactionId;
+
+    /**
+     * 是否删除
+     */
+    private Integer isDelete;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 更新时间
+     */
+    private String updateTime;
+
+    /**
+     * 失效时间
+     */
+    private String failureTime;
+    /**
+     * 物流单号
+     */
+    private String distributionNo;
+
+    /**
+     * 流入金额
+     */
+    private BigDecimal inflowAmount;
+
+    /**
+     * 流出金额
+     */
+    private BigDecimal outflowAmount;
+
+    /**
+     * 订单描述(1:道具购买,2:钻石充值,3:金蛋购买,4:角色购买,5:实体商品购买)
+     */
+    private String orderType;
+
+    /**
+     * 商户信息
+     */
+    private String merchantInfo;
+
+    /**
+     * 商品名字
+     */
+    private String productName;
+
+    public String getOrderId() {
+        return orderId;
+    }
+
+    public void setOrderId(String orderId) {
+        this.orderId = orderId;
+    }
+
+    public String getOrderNo() {
+        return orderNo;
+    }
+
+    public void setOrderNo(String orderNo) {
+        this.orderNo = orderNo;
+    }
+
+    public String getProductId() {
+        return productId;
+    }
+
+    public void setProductId(String productId) {
+        this.productId = productId;
+    }
+
+    public Integer getMallType() {
+        return mallType;
+    }
+
+    public void setMallType(Integer mallType) {
+        this.mallType = mallType;
+    }
+
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public String getShippingAddress() {
+        return shippingAddress;
+    }
+
+    public void setShippingAddress(String shippingAddress) {
+        this.shippingAddress = shippingAddress;
+    }
+
+    public String getDistributionMode() {
+        return distributionMode;
+    }
+
+    public void setDistributionMode(String distributionMode) {
+        this.distributionMode = distributionMode;
+    }
+
+    public String getReceiveGoodsMode() {
+        return receiveGoodsMode;
+    }
+
+    public void setReceiveGoodsMode(String receiveGoodsMode) {
+        this.receiveGoodsMode = receiveGoodsMode;
+    }
+
+    public String getInvoiceMode() {
+        return invoiceMode;
+    }
+
+    public void setInvoiceMode(String invoiceMode) {
+        this.invoiceMode = invoiceMode;
+    }
+
+    public BigDecimal getTotalPrice() {
+        return totalPrice;
+    }
+
+    public void setTotalPrice(BigDecimal totalPrice) {
+        this.totalPrice = totalPrice;
+    }
+
+    public BigDecimal getOrderPrice() {
+        return orderPrice;
+    }
+
+    public void setOrderPrice(BigDecimal orderPrice) {
+        this.orderPrice = orderPrice;
+    }
+
+    public BigDecimal getPayPrice() {
+        return payPrice;
+    }
+
+    public void setPayPrice(BigDecimal payPrice) {
+        this.payPrice = payPrice;
+    }
+
+    public String getBuyerRemark() {
+        return buyerRemark;
+    }
+
+    public void setBuyerRemark(String buyerRemark) {
+        this.buyerRemark = buyerRemark;
+    }
+
+    public String getPayType() {
+        return payType;
+    }
+
+    public void setPayType(String payType) {
+        this.payType = payType;
+    }
+
+    public String getPayStatus() {
+        return payStatus;
+    }
+
+    public void setPayStatus(String payStatus) {
+        this.payStatus = payStatus;
+    }
+
+    public String getPayTime() {
+        return payTime;
+    }
+
+    public void setPayTime(String payTime) {
+        this.payTime = payTime;
+    }
+
+    public String getOrderStatus() {
+        return orderStatus;
+    }
+
+    public void setOrderStatus(String orderStatus) {
+        this.orderStatus = orderStatus;
+    }
+
+    public String getIsSettled() {
+        return isSettled;
+    }
+
+    public void setIsSettled(String isSettled) {
+        this.isSettled = isSettled;
+    }
+
+    public String getTransactionId() {
+        return transactionId;
+    }
+
+    public void setTransactionId(String transactionId) {
+        this.transactionId = transactionId;
+    }
+
+    public Integer getIsDelete() {
+        return isDelete;
+    }
+
+    public void setIsDelete(Integer isDelete) {
+        this.isDelete = isDelete;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(String updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getFailureTime() {
+        return failureTime;
+    }
+
+    public void setFailureTime(String failureTime) {
+        this.failureTime = failureTime;
+    }
+
+    public String getDistributionNo() {
+        return distributionNo;
+    }
+
+    public void setDistributionNo(String distributionNo) {
+        this.distributionNo = distributionNo;
+    }
+
+    public BigDecimal getInflowAmount() {
+        return inflowAmount;
+    }
+
+    public void setInflowAmount(BigDecimal inflowAmount) {
+        this.inflowAmount = inflowAmount;
+    }
+
+    public BigDecimal getOutflowAmount() {
+        return outflowAmount;
+    }
+
+    public void setOutflowAmount(BigDecimal outflowAmount) {
+        this.outflowAmount = outflowAmount;
+    }
+
+    public String getOrderType() {
+        return orderType;
+    }
+
+    public void setOrderType(String orderType) {
+        this.orderType = orderType;
+    }
+
+    public String getMerchantInfo() {
+        return merchantInfo;
+    }
+
+    public void setMerchantInfo(String merchantInfo) {
+        this.merchantInfo = merchantInfo;
+    }
+
+    public String getProductName() {
+        return productName;
+    }
+
+    public void setProductName(String productName) {
+        this.productName = productName;
+    }
+}

+ 138 - 0
incubator-game/src/main/java/com/incubator/game/data/entity/ZjProduct.java

@@ -0,0 +1,138 @@
+package com.incubator.game.data.entity;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * Author:  xhb
+ * Date:  2024-11-12 10:42
+*/
+public class ZjProduct implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键id
+    */
+    private String productId;
+
+    /**
+     * 商品编号
+     */
+    private String productNo;
+
+    /**
+    * 商品名称
+    */
+    private String productName;
+
+    /**
+    * 商品图片
+    */
+    private String productImg;
+
+    /**
+    * 商品描述
+    */
+    private String productDescription;
+
+    /**
+    * 商品类型关联类型表id
+    */
+    private String productType;
+
+    /**
+    * 商品单价
+    */
+    private BigDecimal productPrice;
+
+    /**
+    * 商品状态 Y:N:D
+    */
+    private String productStatus;
+
+    /**
+    * 商品数量
+    */
+    private Integer productCount;
+
+    /**
+    * 商品交易数量
+    */
+    private Integer productTrade;
+
+    /**
+    * 兑换开始时间
+    */
+    private Date productBeginTime;
+
+    /**
+    * 兑换结束时间
+    */
+    private Date productEndTime;
+
+    /**
+    * 兑换列表
+    */
+    private String productList;
+
+    /**
+    * 商品单位(1人民币 2钻石 3福卡)
+    */
+    private String productUnit;
+    /**
+     * 商品对应的物品id
+     */
+    private String productGoods;
+
+    /**
+     * 限购
+     */
+    private String purchaseLimitation;
+
+    /**
+    * 创建时间
+    */
+    private Date createTime;
+
+    /**
+    * 创建人
+    */
+    private Integer createPeople;
+
+    /**
+    * 修改时间
+    */
+    private Date updateTime;
+
+    /**
+    * 修改人
+    */
+    private Integer updatePeople;
+
+    /**
+     * 商品标注
+     */
+    private String productLabel;
+
+    /**
+     * 商品售价
+     */
+    private BigDecimal productSellPrice;
+
+    /**
+     * 商品限购数量
+     */
+    private Integer productLimitationNum;
+
+    /**
+     * 商品栏目分类
+     */
+    private Integer columnSort;
+
+    /**
+     * 使用抵扣券规则
+     */
+    private String deductionRule;
+}

+ 54 - 0
incubator-game/src/main/java/com/incubator/game/data/entity/ZjTrading.java

@@ -0,0 +1,54 @@
+package com.incubator.game.data.entity;
+
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * Author:  xhb
+ * Date:  2024-11-19 11:46
+*/
+public class ZjTrading implements Serializable {
+    /**
+     * 主键id
+     */
+    private String tradingId;
+
+    /**
+     * 用户ID
+     */
+    private String userId;
+
+    /**
+     * 订单号
+     */
+    private String orderNo;
+
+    /**
+     * 交易金额
+     */
+    private BigDecimal amount;
+
+    /**
+     * 交易时间
+     */
+    private Date transactionTime;
+
+    /**
+     * 交易描述
+     */
+    private String description;
+
+    /**
+     * 收支类型1 收入, 2支出
+     */
+    private String type;
+
+    /**
+     * 交易类型 1 购买,2赠送
+     */
+    private String tradeType;
+
+    private static final long serialVersionUID = 1L;
+}

+ 196 - 0
incubator-game/src/main/java/com/incubator/game/data/entity/ZjUser.java

@@ -0,0 +1,196 @@
+package com.incubator.game.data.entity;
+
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author WangYong
+ * @since 2024-11-08
+ */
+public class ZjUser implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private String userId;
+
+    /**
+     * 昵称
+     */
+    private String nickName;
+
+    /**
+     * 头像
+     */
+    private String avatarUrl;
+
+    /**
+     * 大师等级
+     */
+    private Integer honorLevel;
+    /**
+     * 等级最大分
+     */
+    private Integer masterScoreLevel;
+
+    /**
+     * 大师分
+     */
+    private Integer masterScore;
+
+    /**
+     * 系统排名
+     */
+    private Integer ranking;
+
+    /**
+     * 性别
+     */
+    private String sex;
+
+
+
+    private Date createTime;
+
+    /**
+     * 充值金钱
+     */
+    private BigDecimal rmb = BigDecimal.ZERO;
+
+    /**
+     * 主俱乐部
+     */
+    private String userClub;
+
+    /**
+     * 魅力
+     */
+    private Integer charm;
+
+    /**
+     * 玩家编号
+     */
+    private String userNo;
+
+    /**
+     * 人物形象
+     */
+    private String characterUrl;
+
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public String getNickName() {
+        return nickName;
+    }
+
+    public void setNickName(String nickName) {
+        this.nickName = nickName;
+    }
+
+    public String getAvatarUrl() {
+        return avatarUrl;
+    }
+
+    public void setAvatarUrl(String avatarUrl) {
+        this.avatarUrl = avatarUrl;
+    }
+
+    public Integer getHonorLevel() {
+        return honorLevel;
+    }
+
+    public void setHonorLevel(Integer honorLevel) {
+        this.honorLevel = honorLevel;
+    }
+
+    public Integer getMasterScoreLevel() {
+        return masterScoreLevel;
+    }
+
+    public void setMasterScoreLevel(Integer masterScoreLevel) {
+        this.masterScoreLevel = masterScoreLevel;
+    }
+
+    public Integer getMasterScore() {
+        return masterScore;
+    }
+
+    public void setMasterScore(Integer masterScore) {
+        this.masterScore = masterScore;
+    }
+
+    public Integer getRanking() {
+        return ranking;
+    }
+
+    public void setRanking(Integer ranking) {
+        this.ranking = ranking;
+    }
+
+    public String getSex() {
+        return sex;
+    }
+
+    public void setSex(String sex) {
+        this.sex = sex;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public BigDecimal getRmb() {
+        return rmb;
+    }
+
+    public void setRmb(BigDecimal rmb) {
+        this.rmb = rmb;
+    }
+
+    public String getUserClub() {
+        return userClub;
+    }
+
+    public void setUserClub(String userClub) {
+        this.userClub = userClub;
+    }
+
+    public Integer getCharm() {
+        return charm;
+    }
+
+    public void setCharm(Integer charm) {
+        this.charm = charm;
+    }
+
+    public String getUserNo() {
+        return userNo;
+    }
+
+    public void setUserNo(String userNo) {
+        this.userNo = userNo;
+    }
+
+    public String getCharacterUrl() {
+        return characterUrl;
+    }
+
+    public void setCharacterUrl(String characterUrl) {
+        this.characterUrl = characterUrl;
+    }
+}

+ 66 - 0
incubator-game/src/main/java/com/incubator/game/data/entity/ZjUserGamelog.java

@@ -0,0 +1,66 @@
+package com.incubator.game.data.entity;
+
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author WangYong
+ * @since 2024-11-08
+ */
+public class ZjUserGamelog implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private String id;
+
+    private String userId;
+
+    /**
+     * 登录时间
+     */
+    private Date loginTime;
+
+    /**
+     * 退出时间
+     */
+    private Date exitTime;
+
+    /**
+     * 日期
+     */
+    private Date logDate;
+
+    /**
+     * 登录ip
+     */
+    private String loginIp;
+
+    /**
+     * 登录设备
+     */
+    private String loginDevice;
+
+    /**
+     * 充值数据
+     */
+    private String rechargeData;
+
+    /**
+     * 账号数据
+     */
+    private String accountData;
+
+    private Date createTime;
+
+    /**
+     * 赠送描述
+     */
+    private String giftDescription;
+
+}

+ 285 - 0
incubator-game/src/main/java/com/incubator/game/data/entity/ZjUserLongin.java

@@ -0,0 +1,285 @@
+package com.incubator.game.data.entity;
+
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author WangYong
+ * @since 2024-11-08
+ */
+public class ZjUserLongin implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private String loginId;
+
+    private String userId;
+
+    /**
+     * 手机号
+     */
+    private String phoneNumber;
+
+    /**
+     * 微信opid
+     */
+    private String wxOpenId;
+
+    /**
+     * 密码
+     */
+    private String password;
+
+    /**
+     * 邮箱
+     */
+    private String email;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 最近登录时间
+     */
+    private Date loginTime;
+
+    /**
+     * 状态
+     */
+    private String status;
+
+    /**
+     * 修改时间
+     */
+    private Date updateTime;
+
+    /**
+     * 定位
+     */
+    private String gps;
+
+    /**
+     * 定位位置详情
+     */
+    private String gpsAddr;
+
+    /**
+     * 身份证号
+     */
+    private String certNo;
+
+    /**
+     * 真实姓名
+     */
+    private String name;
+
+    /**
+     * 微信id
+     */
+    private String wxId;
+
+    /**
+     * 登录ip
+     */
+    private String loginIp;
+
+    /**
+     * 登录设备
+     */
+    private String loginDevice;
+
+    /**
+     * 冻结状态(0正常 ...)
+     */
+    private String freeze;
+
+    /**
+     * 冻结时间
+     */
+    private Date freezeTime;
+
+    /**
+     * 解冻时间
+     */
+    private Date thawTime;
+
+    /**
+     * 零时账户
+     */
+    private String account;
+
+    public String getLoginId() {
+        return loginId;
+    }
+
+    public void setLoginId(String loginId) {
+        this.loginId = loginId;
+    }
+
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public String getPhoneNumber() {
+        return phoneNumber;
+    }
+
+    public void setPhoneNumber(String phoneNumber) {
+        this.phoneNumber = phoneNumber;
+    }
+
+    public String getWxOpenId() {
+        return wxOpenId;
+    }
+
+    public void setWxOpenId(String wxOpenId) {
+        this.wxOpenId = wxOpenId;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    public void setPassword(String password) {
+        this.password = password;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getLoginTime() {
+        return loginTime;
+    }
+
+    public void setLoginTime(Date loginTime) {
+        this.loginTime = loginTime;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getGps() {
+        return gps;
+    }
+
+    public void setGps(String gps) {
+        this.gps = gps;
+    }
+
+    public String getGpsAddr() {
+        return gpsAddr;
+    }
+
+    public void setGpsAddr(String gpsAddr) {
+        this.gpsAddr = gpsAddr;
+    }
+
+    public String getCertNo() {
+        return certNo;
+    }
+
+    public void setCertNo(String certNo) {
+        this.certNo = certNo;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getWxId() {
+        return wxId;
+    }
+
+    public void setWxId(String wxId) {
+        this.wxId = wxId;
+    }
+
+    public String getLoginIp() {
+        return loginIp;
+    }
+
+    public void setLoginIp(String loginIp) {
+        this.loginIp = loginIp;
+    }
+
+    public String getLoginDevice() {
+        return loginDevice;
+    }
+
+    public void setLoginDevice(String loginDevice) {
+        this.loginDevice = loginDevice;
+    }
+
+    public String getFreeze() {
+        return freeze;
+    }
+
+    public void setFreeze(String freeze) {
+        this.freeze = freeze;
+    }
+
+    public Date getFreezeTime() {
+        return freezeTime;
+    }
+
+    public void setFreezeTime(Date freezeTime) {
+        this.freezeTime = freezeTime;
+    }
+
+    public Date getThawTime() {
+        return thawTime;
+    }
+
+    public void setThawTime(Date thawTime) {
+        this.thawTime = thawTime;
+    }
+
+    public String getAccount() {
+        return account;
+    }
+
+    public void setAccount(String account) {
+        this.account = account;
+    }
+}

+ 63 - 0
incubator-game/src/main/java/com/incubator/game/data/mq/RabbitMQUtil.java

@@ -0,0 +1,63 @@
+package com.incubator.game.data.mq;
+
+import com.rabbitmq.client.Channel;
+import com.rabbitmq.client.Connection;
+import com.rabbitmq.client.ConnectionFactory;
+
+public class RabbitMQUtil {
+
+    private static final String EXCHANGE_NAME = "zj_exchange";
+    private static final String QUEUE_NAME = "zj_queue";
+    private static final String ROUTING_KEY = "zj_routing_key";
+
+    private static Connection connection;
+    private static Channel channel;
+
+    static {
+        try {
+            // 初始化连接和通道
+            initializeConnectionAndChannel();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    private static void initializeConnectionAndChannel() throws Exception {
+        ConnectionFactory factory = new ConnectionFactory();
+        factory.setHost("localhost");
+        factory.setPort(5672);
+        factory.setUsername("guest");
+        factory.setPassword("guest");
+
+        connection = factory.newConnection();
+        channel = connection.createChannel();
+
+        // 声明交换机
+        channel.exchangeDeclare(EXCHANGE_NAME, "direct",true);
+
+        // 声明队列
+        channel.queueDeclare(QUEUE_NAME, true, false, false, null);
+
+        // 绑定队列到交换机
+        channel.queueBind(QUEUE_NAME, EXCHANGE_NAME, ROUTING_KEY);
+    }
+
+    public static void sendMessage(String message) throws Exception {
+        // 发送消息
+        channel.basicPublish(EXCHANGE_NAME, ROUTING_KEY, null, message.getBytes());
+        System.out.println("发送消息: " + message);
+    }
+
+    public static void closeConnection() {
+        try {
+            if (channel != null && channel.isOpen()) {
+                channel.close();
+            }
+            if (connection != null && connection.isOpen()) {
+                connection.close();
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}

+ 86 - 0
incubator-game/src/main/java/com/incubator/game/data/po/MessagePO.java

@@ -0,0 +1,86 @@
+package com.incubator.game.data.po;
+
+/**
+ * Author:  xhb
+ * Date:  2024-12-17 10:24
+ */
+public class MessagePO {
+
+    /**
+     * 消息id
+     */
+    private String id;
+
+    /**
+     * 消息头
+     */
+    private String title;
+
+    /**
+     * 消息类型
+     */
+    private String type;
+
+    /**
+     * 消息内容
+     */
+    private String content;
+
+    /**
+     * 消息时间
+     */
+    private String createTime;
+
+    /**
+     * 消息状态
+     */
+    private String status;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public String getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(String createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+}

+ 9 - 8
incubator-game/src/main/java/com/incubator/game/data/po/ZjOrderPO.java

@@ -61,7 +61,7 @@ public class ZjOrderPO {
     /**
      * 订单状态( 0  取消  1 进行中 2 待取消 3 已完成)'
      */
-    private String status;
+    private String orderStatus;
 
     /**
      * 币种
@@ -124,6 +124,14 @@ public class ZjOrderPO {
      */
     private String merchantInfo;
 
+    public String getOrderStatus() {
+        return orderStatus;
+    }
+
+    public void setOrderStatus(String orderStatus) {
+        this.orderStatus = orderStatus;
+    }
+
     public String getMerchantInfo() {
         return merchantInfo;
     }
@@ -236,13 +244,6 @@ public class ZjOrderPO {
         this.balance = balance;
     }
 
-    public String getStatus() {
-        return status;
-    }
-
-    public void setStatus(String status) {
-        this.status = status;
-    }
 
     public String getProductUnit() {
         return productUnit;

+ 31 - 1
incubator-game/src/main/java/com/incubator/game/handler/address/SaveAddress.java

@@ -9,7 +9,9 @@ import com.incubator.core.net.ws.NetHandler;
 import com.incubator.core.net.ws.WSRequest;
 import com.incubator.core.net.ws.WSResponse;
 import com.incubator.game.constant.RedisKeyConstant;
+import com.incubator.game.data.entity.ZjMemberAddr;
 import com.incubator.game.data.jedis.RedisUtil;
+import com.incubator.game.data.mq.RabbitMQUtil;
 import com.incubator.game.data.po.ZjMemberAddrPO;
 import com.incubator.game.util.ObjectMapperUtil;
 import com.incubator.game.util.UtilCore;
@@ -66,12 +68,22 @@ public class SaveAddress extends NetHandler {
                 zjMemberAddrPOList.forEach(po -> po.setCommonAddr(po.getAddrId().equals(zjMemberAddrPO.getAddrId()) ? 1 : 0));
             }
         }
+        ZjMemberAddr zjMemberAddr = new ZjMemberAddr();
 
         boolean isNewAddress = zjMemberAddrPO.getAddrId() == null;
         if (isNewAddress) {
             zjMemberAddrPO.setAddrId(UtilCore.getDateRandomId());
             zjMemberAddrPO.setCreateTime(new Date());
             zjMemberAddrPOList.add(zjMemberAddrPO);
+
+            zjMemberAddr.setAddrId(zjMemberAddrPO.getAddrId());
+            zjMemberAddr.setCreateTime(zjMemberAddrPO.getCreateTime());
+            zjMemberAddr.setAddr(zjMemberAddrPO.getAddr());
+            zjMemberAddr.setReceiver(zjMemberAddrPO.getReceiver());
+            zjMemberAddr.setMobile(zjMemberAddrPO.getMobile());
+            zjMemberAddr.setStatus(zjMemberAddrPO.getStatus());
+            zjMemberAddr.setCommonAddr(zjMemberAddrPO.getCommonAddr());
+            zjMemberAddr.setUserId(zjMemberAddrPO.getUserId());
         } else {
             Optional<ZjMemberAddrPO> addressToUpdate = zjMemberAddrPOList.stream()
                     .filter(p -> p.getAddrId().equals(zjMemberAddrPO.getAddrId()))
@@ -82,9 +94,27 @@ public class SaveAddress extends NetHandler {
             addressToUpdate.ifPresent(address -> {
                 address.setUpdateTime(new Date());
                 address.setStatus(zjMemberAddrPO.getStatus());
+                address.setReceiver(zjMemberAddrPO.getReceiver());
+                address.setMobile(zjMemberAddrPO.getMobile());
+                address.setCommonAddr(zjMemberAddrPO.getCommonAddr());
+                zjMemberAddr.setUpdateTime(address.getUpdateTime());
+                zjMemberAddr.setCommonAddr(address.getCommonAddr());
+                zjMemberAddr.setAddrId(address.getAddrId());
+                zjMemberAddr.setReceiver(address.getReceiver());
+                zjMemberAddr.setMobile(address.getMobile());
+                zjMemberAddr.setStatus(address.getStatus());
+                zjMemberAddr.setAddr(address.getAddr());
+                zjMemberAddr.setUserId(address.getUserId());
             });
         }
-
+        JSONObject object = new JSONObject();
+        object.put("type", "saveAddr");
+        object.put("data", zjMemberAddr);
+        try {
+            RabbitMQUtil.sendMessage(object.toString());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
 
 
         // 更新Redis中的用户信息

+ 30 - 0
incubator-game/src/main/java/com/incubator/game/handler/club/AgreeOrRefuseJoin.java

@@ -9,7 +9,10 @@ import com.incubator.core.net.ws.NetHandler;
 import com.incubator.core.net.ws.WSRequest;
 import com.incubator.core.net.ws.WSResponse;
 import com.incubator.game.constant.RedisKeyConstant;
+import com.incubator.game.data.entity.ZjClub;
+import com.incubator.game.data.entity.ZjClubMember;
 import com.incubator.game.data.jedis.RedisUtil;
+import com.incubator.game.data.mq.RabbitMQUtil;
 import com.incubator.game.data.po.ZjClubMemberPo;
 import com.incubator.game.data.po.ZjClubPo;
 import com.incubator.game.data.po.ZjUserLobbyPo;
@@ -66,10 +69,29 @@ public class AgreeOrRefuseJoin extends NetHandler {
             ZjClubMemberPo member = memberMap.get(userId);
             if (member != null) {
                 member.setMemberStatus(status);
+                ZjClubMember zjClubMember = new ZjClubMember();
+                zjClubMember.setMemberId(member.getMemberId());
+                zjClubMember.setMemberStatus(member.getMemberStatus());
+                zjClubMember.setUserId(member.getUserId());
+                zjClubMember.setClubId(member.getClubId());
                 if ("1".equals(status)) {
                     zjClub.setClubMemberNum(zjClub.getClubMemberNum() + 1);
+                    ZjClub zjClub1 = new ZjClub();
+                    zjClub1.setClubId(zjClub.getClubId());
+                    zjClub1.setClubMemberNum(zjClub.getClubMemberNum());
+                    JSONObject object = new JSONObject();
+                    object.put("type", "saveClub");
+                    object.put("data", zjClub1);
+                    try {
+                        RabbitMQUtil.sendMessage(object.toString());
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+
                     member.setIsMaster("N");
                     member.setJoinTime(now);
+                    zjClubMember.setJoinTime(now);
+
 
                     String userInfo = RedisUtil.get(RedisKeyConstant.USER_BASE + userId);
                     JSONObject userObject = JSONUtil.parseObj(userInfo);
@@ -89,6 +111,14 @@ public class AgreeOrRefuseJoin extends NetHandler {
                         RedisUtil.set(RedisKeyConstant.USER_BASE + userId, userObject.toString());
                     }
                 }
+                JSONObject object = new JSONObject();
+                object.put("type", "saveClubMember");
+                object.put("data", zjClubMember);
+                try {
+                    RabbitMQUtil.sendMessage(object.toString());
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
             }
         }
 

+ 19 - 0
incubator-game/src/main/java/com/incubator/game/handler/club/ApplyJoinClub.java

@@ -9,7 +9,9 @@ import com.incubator.core.net.ws.NetHandler;
 import com.incubator.core.net.ws.WSRequest;
 import com.incubator.core.net.ws.WSResponse;
 import com.incubator.game.constant.RedisKeyConstant;
+import com.incubator.game.data.entity.ZjClubMember;
 import com.incubator.game.data.jedis.RedisUtil;
+import com.incubator.game.data.mq.RabbitMQUtil;
 import com.incubator.game.data.po.ZjClubMemberPo;
 import com.incubator.game.data.po.ZjClubPo;
 import com.incubator.game.data.po.ZjUserLobbyPo;
@@ -77,6 +79,23 @@ public class ApplyJoinClub extends NetHandler {
         String memBerList = RedisUtil.get(RedisKeyConstant.CLUB_MEMBER + newClubMember.getClubId());
         JSONArray clubMember = JSONUtil.parseObj(memBerList).getJSONArray("clubMember");
         clubMember.add(newClubMember);
+
+        ZjClubMember zjClubMember = new ZjClubMember();
+        zjClubMember.setUserId(newClubMember.getUserId());
+        zjClubMember.setClubId(newClubMember.getClubId());
+        zjClubMember.setMemberStatus(newClubMember.getMemberStatus());
+        zjClubMember.setRequestChannel(newClubMember.getRequestChannel()==null?"":newClubMember.getRequestChannel());
+        zjClubMember.setRequestExplain(newClubMember.getRequestExplain()==null?"":newClubMember.getRequestExplain());
+        JSONObject object1 = new JSONObject();
+        object1.put("type", "saveClubMember");
+        object1.put("data", zjClubMember);
+        try {
+            RabbitMQUtil.sendMessage(object1.toString());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+
         JSONObject object = new JSONObject();
         object.put("clubMember", clubMember);
         RedisUtil.set(RedisKeyConstant.CLUB_MEMBER + newClubMember.getClubId(), object.toString());

+ 76 - 0
incubator-game/src/main/java/com/incubator/game/handler/club/CreateClub.java

@@ -9,7 +9,10 @@ import com.incubator.core.net.ws.NetHandler;
 import com.incubator.core.net.ws.WSRequest;
 import com.incubator.core.net.ws.WSResponse;
 import com.incubator.game.constant.RedisKeyConstant;
+import com.incubator.game.data.entity.ZjClub;
+import com.incubator.game.data.entity.ZjClubMember;
 import com.incubator.game.data.jedis.RedisUtil;
+import com.incubator.game.data.mq.RabbitMQUtil;
 import com.incubator.game.data.po.ZjClubMemberPo;
 import com.incubator.game.data.po.ZjClubPo;
 import com.incubator.game.data.po.ZjUserLobbyPo;
@@ -73,6 +76,27 @@ public class CreateClub extends NetHandler {
             newClub.setMasterScore(lobbyUser.getMasterScore());
             newClub.setMasterName(lobbyUser.getNickName());
             newClub.setClubMemberNum(1);
+
+            ZjClub zjClub = new ZjClub();
+            zjClub.setClubId(newClub.getClubId());
+            zjClub.setClubName(newClub.getClubName());
+            zjClub.setClubImg(newClub.getClubImg());
+            zjClub.setClubDescription(newClub.getClubDescription());
+            zjClub.setClubAddress(newClub.getClubAddress());
+            zjClub.setCreateTime(new Date());
+            zjClub.setClubStatus("1");
+            zjClub.setClubCreator(userId);
+            zjClub.setClubMemberNum(newClub.getClubMemberNum());
+            JSONObject object = new JSONObject();
+            object.put("type","saveClub");
+            object.put("data",zjClub);
+            try {
+                RabbitMQUtil.sendMessage(object.toString());
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
+
             addClubToRedis(jsonObject, clubArray, newClub);//添加俱乐部到redis
 
             addClubMemberToRedis(userObject, newClub);//添加俱乐部成员到redis
@@ -95,6 +119,27 @@ public class CreateClub extends NetHandler {
                 c.setClubDescription(club.getClubDescription());
                 c.setClubAddress(club.getClubAddress());
             });
+            ZjClubPo clubPo = existingClub.get();
+            ZjClub zjClub = new ZjClub();
+            zjClub.setClubId(clubPo.getClubId());
+            zjClub.setClubName(clubPo.getClubName());
+            zjClub.setClubImg(clubPo.getClubImg());
+            zjClub.setClubDescription(clubPo.getClubDescription());
+            zjClub.setClubAddress(clubPo.getClubAddress());
+            zjClub.setCreateTime(new Date());
+            zjClub.setClubStatus("1");
+            zjClub.setClubCreator(clubPo.getClubCreator());
+            zjClub.setClubMemberNum(clubPo.getClubMemberNum());
+            JSONObject object = new JSONObject();
+            object.put("type","saveClub");
+            object.put("data",zjClub);
+            try {
+                RabbitMQUtil.sendMessage(object.toString());
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
+
             jsonObject.put("clubList", clubList);
             RedisUtil.set(RedisKeyConstant.CLUB_BASE, jsonObject.toString());
         }
@@ -121,6 +166,26 @@ public class CreateClub extends NetHandler {
         objects.add(zjClubMemberPo);
         object.put("clubMember",objects);
         RedisUtil.set(RedisKeyConstant.CLUB_MEMBER + newClub.getClubId(), object.toString());
+
+        ZjClubMember zjClubMember = new ZjClubMember();
+        zjClubMember.setUserId(zjClubMemberPo.getUserId());
+        zjClubMember.setClubId(zjClubMemberPo.getClubId());
+        zjClubMember.setMemberStatus(zjClubMemberPo.getMemberStatus());
+        zjClubMember.setRequestChannel(zjClubMemberPo.getRequestChannel()==null?"":zjClubMemberPo.getRequestChannel());
+        zjClubMember.setRequestExplain(zjClubMemberPo.getRequestExplain()==null?"":zjClubMemberPo.getRequestExplain());
+        zjClubMember.setMemberId(zjClubMemberPo.getMemberId());
+        JSONObject object1 = new JSONObject();
+        object1.put("type", "saveClubMember");
+        object1.put("data", zjClubMember);
+        try {
+            RabbitMQUtil.sendMessage(object1.toString());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+
+
+
     }
 
     private JSONObject getClubListFromRedis() {
@@ -168,5 +233,16 @@ public class CreateClub extends NetHandler {
             oldClubJO.put("clubMember",updatedClubMembers);
             RedisUtil.set(RedisKeyConstant.CLUB_MEMBER + userClub,oldClubJO.toString());
         }
+        JSONObject object = new JSONObject();
+        object.put("type", "saveMainClub");
+        object.put("data", lobbyUser);
+        try {
+            RabbitMQUtil.sendMessage(object.toString());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+
+
     }
 }

+ 36 - 0
incubator-game/src/main/java/com/incubator/game/handler/club/DeleteMember.java

@@ -9,7 +9,10 @@ import com.incubator.core.net.ws.NetHandler;
 import com.incubator.core.net.ws.WSRequest;
 import com.incubator.core.net.ws.WSResponse;
 import com.incubator.game.constant.RedisKeyConstant;
+import com.incubator.game.data.entity.ZjClub;
+import com.incubator.game.data.entity.ZjClubMember;
 import com.incubator.game.data.jedis.RedisUtil;
+import com.incubator.game.data.mq.RabbitMQUtil;
 import com.incubator.game.data.po.ZjClubMemberPo;
 import com.incubator.game.data.po.ZjClubPo;
 import com.incubator.game.data.po.ZjUserLobbyPo;
@@ -62,6 +65,30 @@ public class DeleteMember extends NetHandler {
             zjClubMember.setQuitTime(new Date());
             zjClub.setClubMemberNum(zjClub.getClubMemberNum() - 1);
 
+            ZjClubMember zjClubMember1 = new ZjClubMember();
+            zjClubMember1.setMemberId(zjClubMember.getMemberId());
+            zjClubMember1.setMemberStatus(zjClubMember1.getMemberStatus());
+            JSONObject object1 = new JSONObject();
+            object1.put("type", "saveClubMember");
+            object1.put("data", zjClubMember1);
+            try {
+                RabbitMQUtil.sendMessage(object1.toString());
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
+            ZjClub zjClub1 = new ZjClub();
+            zjClub1.setClubId(zjClub.getClubId());
+            zjClub1.setClubMemberNum(zjClub.getClubMemberNum());
+            JSONObject object2 = new JSONObject();
+            object2.put("type", "saveClub");
+            object2.put("data", zjClub1);
+            try {
+                RabbitMQUtil.sendMessage(object2.toString());
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
             // 更新俱乐部列表和成员列表
             clubJson.set("clubList", clubList);
             memberObject.set("clubMember", clubMember);
@@ -86,6 +113,15 @@ public class DeleteMember extends NetHandler {
                     lobbyUser.setUserClub(newClub.getClubId());
                 }
                 userObject.put("lobbyUser", lobbyUser);
+
+                JSONObject object = new JSONObject();
+                object.put("type", "saveMainClub");
+                object.put("data", lobbyUser);
+                try {
+                    RabbitMQUtil.sendMessage(object.toString());
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
             }
             userObject.put("clubList", userClubList);
             RedisUtil.set(RedisKeyConstant.USER_BASE + userId, userObject.toString());

+ 38 - 0
incubator-game/src/main/java/com/incubator/game/handler/club/DissolveClub.java

@@ -9,7 +9,10 @@ import com.incubator.core.net.ws.NetHandler;
 import com.incubator.core.net.ws.WSRequest;
 import com.incubator.core.net.ws.WSResponse;
 import com.incubator.game.constant.RedisKeyConstant;
+import com.incubator.game.data.entity.ZjClub;
+import com.incubator.game.data.entity.ZjClubMember;
 import com.incubator.game.data.jedis.RedisUtil;
+import com.incubator.game.data.mq.RabbitMQUtil;
 import com.incubator.game.data.po.ZjClubMemberPo;
 import com.incubator.game.data.po.ZjClubPo;
 import com.incubator.game.data.po.ZjUserLobbyPo;
@@ -46,6 +49,20 @@ public class DissolveClub extends NetHandler {
         }
         // 更新俱乐部状态
         zjClub.setClubStatus("0"); // 解散俱乐部
+
+        ZjClub zjClub1 = new ZjClub();
+        zjClub1.setClubId(zjClub.getClubId());
+        zjClub1.setClubStatus(zjClub.getClubStatus());
+        JSONObject object2 = new JSONObject();
+        object2.put("type", "saveClub");
+        object2.put("data", zjClub1);
+        try {
+            RabbitMQUtil.sendMessage(object2.toString());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+
         clubJson.put("clubList", clubList);
         RedisUtil.set(RedisKeyConstant.CLUB_BASE, clubJson.toString());
 
@@ -70,6 +87,19 @@ public class DissolveClub extends NetHandler {
             }
             zjClubMember.setMemberStatus("3");
 
+            ZjClubMember zjClubMember1 = new ZjClubMember();
+            zjClubMember1.setMemberId(zjClubMember.getMemberId());
+            zjClubMember1.setMemberStatus(zjClubMember.getMemberStatus());
+            JSONObject object1 = new JSONObject();
+            object1.put("type", "saveClubMember");
+            object1.put("data", zjClubMember1);
+            try {
+                RabbitMQUtil.sendMessage(object1.toString());
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
+
 
 
             JSONArray userClubList = userObject.getJSONArray("clubList");
@@ -82,6 +112,14 @@ public class DissolveClub extends NetHandler {
                     ZjClubPo newClub = userClubPoList.get(0); // 直接选择第一个作为主俱乐部
                     lobbyUser.setUserClub(newClub.getClubId());
                 }
+                JSONObject object = new JSONObject();
+                object.put("type", "saveMainClub");
+                object.put("data", lobbyUser);
+                try {
+                    RabbitMQUtil.sendMessage(object.toString());
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
                 userObject.put("lobbyUser", lobbyUser);
             }
             userObject.put("clubList", userClubList);

+ 54 - 0
incubator-game/src/main/java/com/incubator/game/handler/club/QuitClub.java

@@ -10,7 +10,10 @@ import com.incubator.core.net.ws.NetHandler;
 import com.incubator.core.net.ws.WSRequest;
 import com.incubator.core.net.ws.WSResponse;
 import com.incubator.game.constant.RedisKeyConstant;
+import com.incubator.game.data.entity.ZjClub;
+import com.incubator.game.data.entity.ZjClubMember;
 import com.incubator.game.data.jedis.RedisUtil;
+import com.incubator.game.data.mq.RabbitMQUtil;
 import com.incubator.game.data.po.ZjClubMemberPo;
 import com.incubator.game.data.po.ZjClubPo;
 import com.incubator.game.data.po.ZjUserLobbyPo;
@@ -36,6 +39,35 @@ public class QuitClub extends NetHandler {
         String userId = session.getPlayerId();
         String clubId = request.getDataValue("clubId", String.class, "");
 
+
+        String clubListStr = RedisUtil.get(RedisKeyConstant.CLUB_BASE);
+
+        JSONObject clubJson = JSONUtil.parseObj(clubListStr);
+        JSONArray clubListArray = clubJson.getJSONArray("clubList");
+        List<ZjClubPo> clubList = clubListArray.toList(ZjClubPo.class);
+        ZjClubPo zjClub = clubList.stream()
+                .filter(club -> clubId.equals(club.getClubId()))
+                .findFirst()
+                .orElse(null);
+        if (zjClub == null) {
+            response.setCode(102);
+            response.setMessage("俱乐部不存在");
+            return;
+        }
+
+        ZjClub zjClub1 = new ZjClub();
+        zjClub1.setClubId(zjClub.getClubId());
+        zjClub1.setClubMemberNum(zjClub.getClubMemberNum());
+        JSONObject object2 = new JSONObject();
+        object2.put("type", "saveClub");
+        object2.put("data", zjClub1);
+        try {
+            RabbitMQUtil.sendMessage(object2.toString());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+
         try {
             // 更新用户在俱乐部的状态
             updateClubMemberStatus(clubId, userId);
@@ -59,6 +91,19 @@ public class QuitClub extends NetHandler {
             if (clubPo.getUserId().equals(userId)) {
                 clubPo.setMemberStatus("3");
                 clubPo.setQuitTime(new Date());
+
+                ZjClubMember zjClubMember1 = new ZjClubMember();
+                zjClubMember1.setMemberId(clubPo.getMemberId());
+                zjClubMember1.setMemberStatus(zjClubMember1.getMemberStatus());
+                JSONObject object1 = new JSONObject();
+                object1.put("type", "saveClubMember");
+                object1.put("data", zjClubMember1);
+                try {
+                    RabbitMQUtil.sendMessage(object1.toString());
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+
                 break;
             }
         }
@@ -87,6 +132,15 @@ public class QuitClub extends NetHandler {
                 lobbyUser.setUserClub(newClubId);
             }
             jsonObject.put("lobbyUser", lobbyUser);
+
+            JSONObject object = new JSONObject();
+            object.put("type", "saveMainClub");
+            object.put("data", lobbyUser);
+            try {
+                RabbitMQUtil.sendMessage(object.toString());
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
         }
         jsonObject.put("clubList", clubList);
         RedisUtil.set(RedisKeyConstant.USER_BASE + userId, jsonObject.toString());

+ 10 - 0
incubator-game/src/main/java/com/incubator/game/handler/club/SetMainClub.java

@@ -9,6 +9,7 @@ import com.incubator.core.net.ws.WSRequest;
 import com.incubator.core.net.ws.WSResponse;
 import com.incubator.game.constant.RedisKeyConstant;
 import com.incubator.game.data.jedis.RedisUtil;
+import com.incubator.game.data.mq.RabbitMQUtil;
 import com.incubator.game.data.po.ZjUserLobbyPo;
 import com.incubator.message.proto.CommonProto;
 
@@ -46,5 +47,14 @@ public class SetMainClub extends NetHandler {
         RedisUtil.setEx(RedisKeyConstant.SET_MAIN_CLUB+userId, clubId, Math.toIntExact(30 * 24 * 60 * 60));//设置用户的主俱乐部为30天
         response.setCode(CommonProto.Code.OK_VALUE);
         response.setMessage("设置成功!");
+
+        JSONObject object = new JSONObject();
+        object.put("type", "saveMainClub");
+        object.put("data", lobbyUser);
+        try {
+            RabbitMQUtil.sendMessage(object.toString());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
     }
 }

+ 51 - 0
incubator-game/src/main/java/com/incubator/game/handler/http/WxLogin.java

@@ -0,0 +1,51 @@
+package com.incubator.game.handler.http;
+
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import com.incubator.common.MessageHandler;
+import com.incubator.core.net.http.HttpHandler;
+import com.incubator.core.net.http.HttpRequest;
+import com.incubator.core.net.http.HttpResponse;
+import com.incubator.message.proto.CommonProto;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Author:  xhb
+ * Date:  2024-12-17 10:43
+ */
+@MessageHandler(httpPath = "/wxLogin")
+public class WxLogin extends HttpHandler {
+
+    private static final String wxAppidC = "wxa1c5de9033d008fa";
+
+    private static final String wxAppSecretC = "dd530f78cab70c8d3b2cf960399116c2";
+
+    /**
+     * 设置消息内容
+     **/
+    @Override
+    public HttpResponse onDate(HttpRequest request, Map<String, String> params) throws Exception {
+        HttpResponse response = new HttpResponse();
+        String code = params.get("code");
+        String avatarUrl = params.get("avatarUrl");
+        String nickName = params.get("nickName");
+        String url = "https://api.weixin.qq.com/sns/jscode2session" +
+                "?appid=" + wxAppidC +
+                "&secret=" + wxAppSecretC +
+                "&js_code=" + code +
+                "&grant_type=authorization_code";
+        RestTemplate restTemplate = new RestTemplate();
+        String forObject = restTemplate.getForObject(url, String.class);
+        JSONObject jsonObject = JSONUtil.parseObj(forObject);
+        String sessionKey = (String)jsonObject.get("session_key");
+        String openId = (String)jsonObject.get("openid");
+        JSONObject object = new JSONObject();
+        object.put("code", code);
+        response.setCode(CommonProto.Code.OK_VALUE);
+        response.setData(object.toString());
+        return response;
+    }
+}

+ 3 - 0
incubator-game/src/main/java/com/incubator/game/handler/login/LoginGameHandler.java

@@ -107,6 +107,9 @@ public class LoginGameHandler extends NetHandler {
 		map.put("contestId", player.data.contestId);
 		// 官方比赛信息列表
 		map.put("contestInfo", ProtoUtil.contestListToMessage());
+
+		//奖励弹窗
+
 		response.setData(map);
 	}
 }

+ 49 - 1
incubator-game/src/main/java/com/incubator/game/handler/mall/ShopBuy.java

@@ -9,7 +9,11 @@ import com.incubator.core.net.ws.NetHandler;
 import com.incubator.core.net.ws.WSRequest;
 import com.incubator.core.net.ws.WSResponse;
 import com.incubator.game.constant.RedisKeyConstant;
+import com.incubator.game.data.entity.ZjBackpack;
+import com.incubator.game.data.entity.ZjOrder;
+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.ZjBackpackPO;
 import com.incubator.game.data.po.ZjOrderPO;
 import com.incubator.game.data.po.ZjProductPo;
@@ -86,15 +90,41 @@ public class ShopBuy extends NetHandler {
                 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();
@@ -102,13 +132,31 @@ public class ShopBuy extends NetHandler {
                 String orderNo = UtilCore.getDateRandomId();//订单号
                 zjOrder.setOrderNo(orderNo);
                 zjOrder.setProductName(product.getProductName());
-                zjOrder.setStatus("3");
+                zjOrder.setOrderStatus("3");
                 zjOrder.setPayType("1");
                 zjOrder.setOrderType("1");
                 zjOrder.setCreateTime(new Date());
                 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(new Date());
+                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);

+ 42 - 0
incubator-game/src/main/java/com/incubator/game/handler/message/MessageInfo.java

@@ -0,0 +1,42 @@
+package com.incubator.game.handler.message;
+
+import cn.hutool.json.JSON;
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import com.incubator.common.MessageHandler;
+import com.incubator.common.net.Connection;
+import com.incubator.core.net.ws.NetHandler;
+import com.incubator.core.net.ws.WSRequest;
+import com.incubator.core.net.ws.WSResponse;
+import com.incubator.game.constant.RedisKeyConstant;
+import com.incubator.game.data.jedis.RedisUtil;
+import com.incubator.game.data.po.MessagePO;
+import com.incubator.game.util.ObjectMapperUtil;
+import com.incubator.message.proto.CommonProto;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Author:  xhb
+ * Date:  2024-12-17 9:59
+ */
+@MessageHandler(id = CommonProto.Cmd.MessageInfoReq_VALUE)
+public class MessageInfo extends NetHandler {
+
+    @Override
+    public void onDate(Connection session, WSRequest request, WSResponse response) {
+        response.setCmd(CommonProto.Cmd.MessageInfoRes_VALUE);
+        String userId = session.getPlayerId();
+        String jsonStr = RedisUtil.get(RedisKeyConstant.ZJ_USER_MESSAGE + userId);
+        JSONObject parse = JSONUtil.parseObj(jsonStr);
+        JSONArray jsonArray = parse.getJSONArray("");
+        List<MessagePO> messagePOS = jsonArray.toList(MessagePO.class);
+        List<Map<String, Object>> maps = ObjectMapperUtil.convertListToMapList(messagePOS);
+        Map<String, Object> map = new HashMap<>();
+        map.put("messageList", maps);
+        response.setData(map);
+    }
+}

+ 14 - 0
incubator-game/src/main/java/com/incubator/game/handler/user/UpdateAvatarUrlHandler.java

@@ -8,7 +8,9 @@ import com.incubator.core.net.ws.NetHandler;
 import com.incubator.core.net.ws.WSRequest;
 import com.incubator.core.net.ws.WSResponse;
 import com.incubator.game.constant.RedisKeyConstant;
+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.ZjUserLobbyPo;
 import com.incubator.message.proto.CommonProto;
 
@@ -34,5 +36,17 @@ public class UpdateAvatarUrlHandler extends NetHandler {
         userObject.put("lobbyUser", lobbyUser);
         RedisUtil.set(RedisKeyConstant.USER_BASE + userId, userObject.toString());
         response.setMessage("修改成功!");
+
+        ZjUser zjUser = new ZjUser();
+        zjUser.setUserId(userId);
+        zjUser.setAvatarUrl(avatarUrl);
+        JSONObject object = new JSONObject();
+        object.put("type", "updateUser");
+        object.put("data", zjUser);
+        try {
+            RabbitMQUtil.sendMessage(object.toString());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
     }
 }

+ 14 - 0
incubator-game/src/main/java/com/incubator/game/handler/user/UpdateCharacterUrlHandler.java

@@ -8,7 +8,9 @@ import com.incubator.core.net.ws.NetHandler;
 import com.incubator.core.net.ws.WSRequest;
 import com.incubator.core.net.ws.WSResponse;
 import com.incubator.game.constant.RedisKeyConstant;
+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.ZjUserLobbyPo;
 import com.incubator.message.proto.CommonProto;
 
@@ -34,5 +36,17 @@ public class UpdateCharacterUrlHandler extends NetHandler {
         userObject.put("lobbyUser", lobbyUser);
         RedisUtil.set(RedisKeyConstant.USER_BASE + userId, userObject.toString());
         response.setMessage("修改成功!");
+
+        ZjUser zjUser = new ZjUser();
+        zjUser.setUserId(userId);
+        zjUser.setCharacterUrl(characterUrl);
+        JSONObject object = new JSONObject();
+        object.put("type", "updateUser");
+        object.put("data", zjUser);
+        try {
+            RabbitMQUtil.sendMessage(object.toString());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
     }
 }

+ 14 - 0
incubator-game/src/main/java/com/incubator/game/handler/user/UpdateNickNameHandler.java

@@ -8,7 +8,9 @@ import com.incubator.core.net.ws.NetHandler;
 import com.incubator.core.net.ws.WSRequest;
 import com.incubator.core.net.ws.WSResponse;
 import com.incubator.game.constant.RedisKeyConstant;
+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.ZjUserLobbyPo;
 import com.incubator.message.proto.CommonProto;
 
@@ -34,6 +36,18 @@ public class UpdateNickNameHandler extends NetHandler {
         userObject.put("lobbyUser", lobbyUser);
         RedisUtil.set(RedisKeyConstant.USER_BASE + userId, userObject.toString());
         response.setMessage("修改成功!");
+
+        ZjUser zjUser = new ZjUser();
+        zjUser.setUserId(userId);
+        zjUser.setNickName(nickName);
+        JSONObject object = new JSONObject();
+        object.put("type", "updateUser");
+        object.put("data", zjUser);
+        try {
+            RabbitMQUtil.sendMessage(object.toString());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
     }
 
 }

+ 16 - 0
incubator-game/src/main/java/com/incubator/game/handler/user/UpdatePhoneHandler.java

@@ -8,7 +8,10 @@ import com.incubator.core.net.ws.NetHandler;
 import com.incubator.core.net.ws.WSRequest;
 import com.incubator.core.net.ws.WSResponse;
 import com.incubator.game.constant.RedisKeyConstant;
+import com.incubator.game.data.entity.ZjUser;
+import com.incubator.game.data.entity.ZjUserLongin;
 import com.incubator.game.data.jedis.RedisUtil;
+import com.incubator.game.data.mq.RabbitMQUtil;
 import com.incubator.game.data.po.ZjUserLobbyPo;
 import com.incubator.message.proto.CommonProto;
 
@@ -36,5 +39,18 @@ public class UpdatePhoneHandler extends NetHandler {
         userObject.put("lobbyUser", lobbyUser);
         RedisUtil.set(RedisKeyConstant.USER_BASE + userId, userObject.toString());
         response.setMessage("修改成功!");
+
+        ZjUserLongin zjUserLongin = new ZjUserLongin();
+        zjUserLongin.setUserId(userId);
+        zjUserLongin.setName(name);
+        zjUserLongin.setPhoneNumber(phone);
+        JSONObject object = new JSONObject();
+        object.put("type", "updateUserLogin");
+        object.put("data", zjUserLongin);
+        try {
+            RabbitMQUtil.sendMessage(object.toString());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
     }
 }

+ 4 - 0
incubator-message/src/main/proto/CommonProto.proto

@@ -131,6 +131,10 @@ enum Cmd {
     EventInfoReq = 200801;     // 活动信息请求
     EventInfoRes = 200802;     // 活动信息响应
 
+    //个人消息
+    MessageInfoReq = 200901;     // 个人消息信息请求
+    MessageInfoRes = 200902;     // 个人消息信息响应
+
 
     // 服务器推送消息 900000-999999 (全部以偶数结尾)
     PlayerInfoUpdate = 900002;  // 玩家信息数据变更推送