dos před 8 měsíci
rodič
revize
1409fdae30
36 změnil soubory, kde provedl 1649 přidání a 4 odebrání
  1. 4 0
      game-admin/src/main/resources/i18n/messages.properties
  2. 3 0
      game-admin/src/main/resources/i18n/messages_ar.properties
  3. 3 0
      game-admin/src/main/resources/i18n/messages_en.properties
  4. 3 0
      game-admin/src/main/resources/i18n/messages_tr.properties
  5. 81 0
      game-business/src/main/java/com/game/business/controller/AppAgentController.java
  6. 115 0
      game-business/src/main/java/com/game/business/controller/AppUserAgentController.java
  7. 6 0
      game-business/src/main/java/com/game/business/domain/AppUser.java
  8. 52 0
      game-business/src/main/java/com/game/business/domain/AppUserAgent.java
  9. 2 2
      game-business/src/main/java/com/game/business/domain/AppUserCount.java
  10. 3 2
      game-business/src/main/java/com/game/business/domain/AppUsersCashrecord.java
  11. 5 0
      game-business/src/main/java/com/game/business/domain/AppUsersCharge.java
  12. 14 0
      game-business/src/main/java/com/game/business/dto/AgentIndexDto.java
  13. 61 0
      game-business/src/main/java/com/game/business/mapper/AppUserAgentMapper.java
  14. 61 0
      game-business/src/main/java/com/game/business/service/IAppUserAgentService.java
  15. 6 0
      game-business/src/main/java/com/game/business/service/IAppUserCountService.java
  16. 2 0
      game-business/src/main/java/com/game/business/service/IAppUserService.java
  17. 6 0
      game-business/src/main/java/com/game/business/service/IAppUsersCashrecordService.java
  18. 7 0
      game-business/src/main/java/com/game/business/service/IAppUsersChargeService.java
  19. 9 0
      game-business/src/main/java/com/game/business/service/IFinTranRecordService.java
  20. 97 0
      game-business/src/main/java/com/game/business/service/impl/AppUserAgentServiceImpl.java
  21. 17 0
      game-business/src/main/java/com/game/business/service/impl/AppUserCountServiceImpl.java
  22. 18 0
      game-business/src/main/java/com/game/business/service/impl/AppUserServiceImpl.java
  23. 13 0
      game-business/src/main/java/com/game/business/service/impl/AppUsersCashrecordServiceImpl.java
  24. 19 0
      game-business/src/main/java/com/game/business/service/impl/AppUsersChargeServiceImpl.java
  25. 14 0
      game-business/src/main/java/com/game/business/service/impl/FinTranRecordServiceImpl.java
  26. 63 0
      game-business/src/main/java/com/game/business/task/AppUserCountTask.java
  27. 43 0
      game-business/src/main/java/com/game/business/vo/AppUserAgentJournalIndexVO.java
  28. 67 0
      game-business/src/main/resources/mapper/business/AppUserAgentMapper.xml
  29. 1 0
      game-business/src/main/resources/mapper/business/AppUserMapper.xml
  30. 112 0
      game-common/src/main/java/com/game/common/constant/ProjConfig.java
  31. 149 0
      game-common/src/main/java/com/game/common/constant/finance/FinTranType1.java
  32. 172 0
      game-common/src/main/java/com/game/common/constant/finance/FinTranType2.java
  33. 394 0
      game-common/src/main/java/com/game/common/constant/finance/FinTranType3.java
  34. 3 0
      game-common/src/main/java/com/game/common/core/domain/entity/SysDept.java
  35. 19 0
      game-common/src/main/java/com/game/common/entity/KeyValue.java
  36. 5 0
      game-common/src/main/java/com/game/common/utils/MessageUtils.java

+ 4 - 0
game-admin/src/main/resources/i18n/messages.properties

@@ -1270,6 +1270,10 @@
 11567=\u89C2\u5F71\u6B21\u6570\u4E0D\u8DB3
 11568=\u3010\u51CF\u5C11\u3011\u53D1\u9001\u7EA2\u5305
 11569=\u7ED1\u5B9A\u7801\u65E0\u6548
+11570=\u4F59\u989D
+11571=\u51CF\u5C11\u4F59\u989D
+11572=\u4F59\u989D\u63D0\u73B0
+11573=\u6DFB\u52A0\u4F59\u989D
 
 not.null=* \u5FC5\u987B\u586B\u5199
 user.jcaptcha.error=\u9A8C\u8BC1\u7801\u9519\u8BEF

+ 3 - 0
game-admin/src/main/resources/i18n/messages_ar.properties

@@ -1269,6 +1269,9 @@
 11566=\u0628\u064A\u0646
 11567=\u0644\u064A\u0633 \u0647\u0646\u0627\u0643 \u0645\u0627 \u064A\u0643\u0641\u064A \u0645\u0646 \u0627\u0644\u0645\u0634\u0627\u0647\u062F\u0627\u062A
 11569=\u0631\u0645\u0632 \u0645\u0644\u0632\u0645\u0629 \u063A\u064A\u0631 \u0635\u0627\u0644\u062D\u0629
+11570=\u0631\u0635\u064A\u062F
+11572=\u0633\u062D\u0628 \u0627\u0644\u0631\u0635\u064A\u062F
+11573=\u0625\u0636\u0627\u0641\u0629 \u0627\u0644\u0631\u0635\u064A\u062F
 # 11568 =
 # 11569 =
 # 11570 =

+ 3 - 0
game-admin/src/main/resources/i18n/messages_en.properties

@@ -1269,6 +1269,9 @@
 11566=Between
 11567=Not enough views
 11569=Invalid binding code
+11570=Balance
+11572=Balance withdrawal
+11573=Add Balance
 #11568=
 #11569=
 #11570=

+ 3 - 0
game-admin/src/main/resources/i18n/messages_tr.properties

@@ -1270,6 +1270,9 @@
 11566=Aras\u0131nda
 11567=Yeterli g\u00F6r\u00FCnt\u00FCleme yok
 11569=Ke\u00E7ersiz ba\u011Flama kodu
+11570=Balance
+11572=Bakiyenin \u00E7ekilmesi
+11573=Bakiye ekle
 #11568=
 #11569=
 #11570=

+ 81 - 0
game-business/src/main/java/com/game/business/controller/AppAgentController.java

@@ -0,0 +1,81 @@
+package com.game.business.controller;
+
+import cn.hutool.core.date.DateUtil;
+import com.game.business.domain.AppGameBetting;
+import com.game.business.domain.AppUser;
+import com.game.business.domain.AppUserCount;
+import com.game.business.dto.AgentIndexDto;
+import com.game.business.service.IAppUserCountService;
+import com.game.business.service.IAppUserService;
+import com.game.business.vo.AppUserAgentJournalIndexVO;
+import com.game.common.annotation.Anonymous;
+import com.game.common.core.domain.HttpRet;
+import com.game.common.utils.MessageUtils;
+import com.game.common.utils.SecurityUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
+@RestController
+@RequestMapping("/business/agent")
+@Api(value = "AppGameBettingController", description = "代理接口", tags = {"代理接口"})
+public class AppAgentController {
+
+    @Autowired
+    private IAppUserCountService appUserCountService;
+
+    @Autowired
+    private IAppUserService appUserService;
+
+    /**
+     * 下注
+     */
+    @PostMapping(value = "/index")
+    @ApiOperation(value = "首页", notes = "首页")
+    public HttpRet<AppUserAgentJournalIndexVO> index(AgentIndexDto agentIndexDto)
+    {
+        Long userId = SecurityUtils.getUserId();
+        AppUserAgentJournalIndexVO vo = new AppUserAgentJournalIndexVO();
+        Date nowDate = DateUtil.date();
+        if(agentIndexDto.getType() == 1){
+            nowDate = DateUtil.offsetMonth(nowDate,-1); //上个月
+        }
+        String formatP = "yyyy-MM-dd";
+        Date beginDate = DateUtil.beginOfMonth(nowDate);
+        Date endDate = DateUtil.endOfMonth(nowDate);
+        List<AppUserCount> appUserCountList = appUserCountService.getAppUserCount(userId,DateUtil.format(beginDate,formatP),DateUtil.format(endDate,formatP));
+
+        if(null != appUserCountList && appUserCountList.size() > 0){
+            //佣金
+            vo.setMyCommission(appUserCountList.stream().mapToDouble(e->e.getLiveCommission() + e.getGameCommission()).sum());
+            //团队人数
+            vo.setTeamUser(appUserService.getCount(userId,null,null));
+            //团队充值
+            vo.setTeamRecharge(appUserCountList.stream().mapToDouble(e->e.getRechargeAmount() - e.getRechargeCommission()).sum());
+            //团队投注
+            //团队直播消费
+            vo.setTeamLive(appUserCountList.stream().mapToDouble(e->e.getLiveUseAmount()).sum());
+            //团队投注赢
+            vo.setTeamWin(appUserCountList.stream().mapToDouble(e->e.getGameWinAmount()).sum());
+            //团队投注输
+            vo.setTeamLose(appUserCountList.stream().mapToDouble(e->e.getGameLoseAmount()).sum());
+            //活跃人数
+            vo.setActiveUser(appUserCountList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(()-> new TreeSet<>(Comparator.comparing(f->f.getUserId()))), ArrayList::new)).size());
+            //昨日新增
+            Date yesterDay = DateUtil.offsetDay(DateUtil.date(),-1);
+            vo.setYesterdayUser(appUserService.getCount(userId,DateUtil.format(yesterDay,"yyyy-MM-dd").concat(" 00:00:00")
+                    ,DateUtil.format(yesterDay,"yyyy-MM-dd").concat(" 23:59:59")));
+            vo.setMonthUser(appUserService.getCount(userId,DateUtil.format(beginDate,"yyyy-MM-dd").concat(" 00:00:00")
+                    ,DateUtil.format(endDate,"yyyy-MM-dd").concat(" 23:59:59")));
+        }
+        return HttpRet.success(MessageUtils.message("11022"),vo);
+    }
+
+}

+ 115 - 0
game-business/src/main/java/com/game/business/controller/AppUserAgentController.java

@@ -0,0 +1,115 @@
+package com.game.business.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+import com.game.common.core.domain.R;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.game.common.annotation.Log;
+import com.game.common.core.controller.BaseController;
+import com.game.common.core.domain.AjaxResult;
+import com.game.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import com.game.business.domain.AppUserAgent;
+import com.game.business.service.IAppUserAgentService;
+import com.game.common.utils.poi.ExcelUtil;
+import com.game.common.core.page.TableDataInfo;
+
+/**
+ * 用户代理表Controller
+ * 
+ * @author game
+ * @date 2024-06-25
+ */
+@RestController
+@RequestMapping("/business/agent")
+@Api(value = "AppUserAgentController", description = "用户代理表接口", tags = {"用户代理表"})
+public class AppUserAgentController extends BaseController
+{
+    @Autowired
+    private IAppUserAgentService appUserAgentService;
+
+    /**
+     * 查询用户代理表列表
+     */
+    @PreAuthorize("@ss.hasPermi('business:agent:list')")
+    @GetMapping("/list")
+    @ApiOperation(value = "查询用户代理表列表", notes = "获取用户代理表列表")
+    public TableDataInfo<AppUserAgent> list(AppUserAgent appUserAgent)
+    {
+        startPage();
+        List<AppUserAgent> list = appUserAgentService.selectAppUserAgentList(appUserAgent);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出用户代理表列表
+     */
+    @PreAuthorize("@ss.hasPermi('business:agent:export')")
+    @Log(title = "用户代理表", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    @ApiOperation(value = "导出用户代理表列表", notes = "导出用户代理表列表")
+    public void export(HttpServletResponse response, AppUserAgent appUserAgent)
+    {
+        List<AppUserAgent> list = appUserAgentService.selectAppUserAgentList(appUserAgent);
+        ExcelUtil<AppUserAgent> util = new ExcelUtil<AppUserAgent>(AppUserAgent.class);
+        util.exportExcel(response, list, "用户代理表数据");
+    }
+
+    /**
+     * 获取用户代理表详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('business:agent:query')")
+    @GetMapping(value = "/{id}")
+    @ApiOperation(value = "获取用户代理表详细信息", notes = "获取用户代理表详细信息")
+    public R<AppUserAgent> getInfo(@PathVariable("id") Long id)
+    {
+        return R.ok(appUserAgentService.selectAppUserAgentById(id));
+    }
+
+    /**
+     * 新增用户代理表
+     */
+    @PreAuthorize("@ss.hasPermi('business:agent:add')")
+    @Log(title = "用户代理表", businessType = BusinessType.INSERT)
+    @ApiOperation(value = "新增用户代理表", notes = "新增用户代理表")
+    @PostMapping
+    public R add(@RequestBody AppUserAgent appUserAgent)
+    {
+        return R.ok(appUserAgentService.insertAppUserAgent(appUserAgent));
+    }
+
+    /**
+     * 修改用户代理表
+     */
+    @PreAuthorize("@ss.hasPermi('business:agent:edit')")
+    @Log(title = "用户代理表", businessType = BusinessType.UPDATE)
+    @ApiOperation(value = "修改用户代理表", notes = "修改用户代理表")
+    @PutMapping
+    public R edit(@RequestBody AppUserAgent appUserAgent)
+    {
+        return R.ok(appUserAgentService.updateAppUserAgent(appUserAgent));
+    }
+
+    /**
+     * 删除用户代理表
+     */
+    @PreAuthorize("@ss.hasPermi('business:agent:remove')")
+    @Log(title = "用户代理表", businessType = BusinessType.DELETE)
+    @ApiOperation(value = "删除用户代理表", notes = "删除用户代理表")
+	@DeleteMapping("/{ids}")
+    public R remove(@PathVariable Long[] ids)
+    {
+        return R.ok(appUserAgentService.deleteAppUserAgentByIds(ids));
+    }
+}

+ 6 - 0
game-business/src/main/java/com/game/business/domain/AppUser.java

@@ -952,4 +952,10 @@ private static final long serialVersionUID=1L;
     @TableField(value = "diamond_coin_cash_total")
     private Double diamondCoinCashTotal;
 
+    /** 是否为代理 */
+    @ApiModelProperty(value = "是否为代理  0:否  1:是")
+    @Excel(name = "是否为代理  0:否  1:是")
+    @TableField(value = "agent_flag")
+    private Integer agentFlag;
+
 }

+ 52 - 0
game-business/src/main/java/com/game/business/domain/AppUserAgent.java

@@ -0,0 +1,52 @@
+package com.game.business.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.game.common.annotation.Excel;
+import com.game.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 用户代理表对象 app_user_agent
+ *
+ * @author game
+ * @date 2024-06-25
+ */
+@ApiModel(value = "app_user_agent", description = "用户代理表")
+@TableName(value= "app_user_agent")
+@Data
+public class AppUserAgent
+        {
+private static final long serialVersionUID=1L;
+
+    /** $column.columnComment */
+    @ApiModelProperty(value = "$column.columnComment")
+    @TableId(value = "id" , type = IdType.AUTO)
+    private Long id;
+
+    /** 用户id */
+    @ApiModelProperty(value = "用户id")
+    @Excel(name = "用户id")
+    @TableField(value = "user_id")
+    private Long userId;
+
+    /** 上级id */
+    @ApiModelProperty(value = "上级id")
+    @Excel(name = "上级id")
+    @TableField(value = "pid")
+    private Long pid;
+
+    /** 创建时间 */
+    @ApiModelProperty(value = "创建时间")
+    @TableField(value = "create_time")
+    private Date createTime;
+
+}

+ 2 - 2
game-business/src/main/java/com/game/business/domain/AppUserCount.java

@@ -55,9 +55,9 @@ public class AppUserCount {
     @ApiModelProperty(value = "提现手续费")
     private double withdrawalCommission;
 
-    @Excel(name = "直播消费金额")
+    @Excel(name = "直播消费金额 (金币)")
     @TableField(value = "live_use_amount")
-    @ApiModelProperty(value = "直播消费金额")
+    @ApiModelProperty(value = "直播消费金额 (金币)")
     private double liveUseAmount;
 
     @Excel(name = "直播佣金")

+ 3 - 2
game-business/src/main/java/com/game/business/domain/AppUsersCashrecord.java

@@ -14,6 +14,7 @@ import com.game.common.core.domain.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModel;
 import lombok.Data;
+import org.apache.commons.math3.analysis.function.Identity;
 
 /**
  * 提现记录对象 app_users_cashrecord
@@ -107,8 +108,8 @@ private static final long serialVersionUID=1L;
     private Long cashOutStatus;
 
     /** 提现类型:1:收益 2:佣金 3:主播向公会 5:映票兑换金币 6:余额兑换金币 */
-    @ApiModelProperty(value = "提现类型:1:收益 2:佣金 3:主播向公会 5:映票兑换金币 6:余额兑换金币")
-    @Excel(name = "提现类型:1:收益 2:佣金 3:主播向公会 5:映票兑换金币 6:余额兑换金币")
+    @ApiModelProperty(value = "提现类型:1:收益 2:佣金 3:主播向公会 4:商家提现 5:映票兑换金币  6:余额兑换金币  7:余额提现")
+    @Excel(name = "提现类型:1:收益 2:佣金 3:主播向公会 4:商家提现 5:映票兑换金币  6:余额兑换金币  7:余额提现")
     @TableField(value = "cash_type")
     private Long cashType;
 

+ 5 - 0
game-business/src/main/java/com/game/business/domain/AppUsersCharge.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import com.game.common.annotation.Excel;
@@ -190,4 +191,8 @@ private static final long serialVersionUID=1L;
     @TableField(value = "uid")
     private Long uid;
 
+    @JsonIgnore
+    @TableField(exist = false)
+    private double todaySum;
+
 }

+ 14 - 0
game-business/src/main/java/com/game/business/dto/AgentIndexDto.java

@@ -0,0 +1,14 @@
+package com.game.business.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("代理首页接口")
+public class AgentIndexDto {
+
+    @ApiModelProperty(value = "类型 0:本月  1:上月  不传默认查询本月")
+    private int type = 0;
+
+}

+ 61 - 0
game-business/src/main/java/com/game/business/mapper/AppUserAgentMapper.java

@@ -0,0 +1,61 @@
+package com.game.business.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.game.business.domain.AppUserAgent;
+
+/**
+ * 用户代理表Mapper接口
+ *
+ * @author game
+ * @date 2024-06-25
+ */
+public interface AppUserAgentMapper extends BaseMapper<AppUserAgent> {
+    /**
+     * 查询用户代理表
+     *
+     * @param id 用户代理表主键
+     * @return 用户代理表
+     */
+    public AppUserAgent selectAppUserAgentById(Long id);
+
+    /**
+     * 查询用户代理表列表
+     *
+     * @param appUserAgent 用户代理表
+     * @return 用户代理表集合
+     */
+    public List<AppUserAgent> selectAppUserAgentList(AppUserAgent appUserAgent);
+
+    /**
+     * 新增用户代理表
+     *
+     * @param appUserAgent 用户代理表
+     * @return 结果
+     */
+    public int insertAppUserAgent(AppUserAgent appUserAgent);
+
+    /**
+     * 修改用户代理表
+     *
+     * @param appUserAgent 用户代理表
+     * @return 结果
+     */
+    public int updateAppUserAgent(AppUserAgent appUserAgent);
+
+    /**
+     * 删除用户代理表
+     *
+     * @param id 用户代理表主键
+     * @return 结果
+     */
+    public int deleteAppUserAgentById(Long id);
+
+    /**
+     * 批量删除用户代理表
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteAppUserAgentByIds(Long[] ids);
+}

+ 61 - 0
game-business/src/main/java/com/game/business/service/IAppUserAgentService.java

@@ -0,0 +1,61 @@
+package com.game.business.service;
+
+import java.util.List;
+import com.game.business.domain.AppUserAgent;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 用户代理表Service接口
+ *
+ * @author game
+ * @date 2024-06-25
+ */
+public interface IAppUserAgentService extends IService<AppUserAgent> {
+    /**
+     * 查询用户代理表
+     *
+     * @param id 用户代理表主键
+     * @return 用户代理表
+     */
+    public AppUserAgent selectAppUserAgentById(Long id);
+
+    /**
+     * 查询用户代理表列表
+     *
+     * @param appUserAgent 用户代理表
+     * @return 用户代理表集合
+     */
+    public List<AppUserAgent> selectAppUserAgentList(AppUserAgent appUserAgent);
+
+    /**
+     * 新增用户代理表
+     *
+     * @param appUserAgent 用户代理表
+     * @return 结果
+     */
+    public int insertAppUserAgent(AppUserAgent appUserAgent);
+
+    /**
+     * 修改用户代理表
+     *
+     * @param appUserAgent 用户代理表
+     * @return 结果
+     */
+    public int updateAppUserAgent(AppUserAgent appUserAgent);
+
+    /**
+     * 批量删除用户代理表
+     *
+     * @param ids 需要删除的用户代理表主键集合
+     * @return 结果
+     */
+    public int deleteAppUserAgentByIds(Long[] ids);
+
+    /**
+     * 删除用户代理表信息
+     *
+     * @param id 用户代理表主键
+     * @return 结果
+     */
+    public int deleteAppUserAgentById(Long id);
+}

+ 6 - 0
game-business/src/main/java/com/game/business/service/IAppUserCountService.java

@@ -3,5 +3,11 @@ package com.game.business.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.game.business.domain.AppUserCount;
 
+import java.util.List;
+
 public interface IAppUserCountService extends IService<AppUserCount> {
+
+
+    public List<AppUserCount> getAppUserCount(long userId,String beginTime,String endTIme);
+
 }

+ 2 - 0
game-business/src/main/java/com/game/business/service/IAppUserService.java

@@ -58,4 +58,6 @@ public interface IAppUserService extends IService<AppUser> {
      * @return 结果
      */
     public int deleteAppUserByUserid(Long userid);
+
+    public int getCount(Long pid,String beginTime,String endTime);
 }

+ 6 - 0
game-business/src/main/java/com/game/business/service/IAppUsersCashrecordService.java

@@ -58,4 +58,10 @@ public interface IAppUsersCashrecordService extends IService<AppUsersCashrecord>
      * @return 结果
      */
     public int deleteAppUsersCashrecordById(Long id);
+
+    /**
+     *  根据日期查询用户提现记录
+     *
+     * */
+    public List<AppUsersCashrecord> getUserCashList(Long userId,String beginTime,String endTime);
 }

+ 7 - 0
game-business/src/main/java/com/game/business/service/IAppUsersChargeService.java

@@ -58,4 +58,11 @@ public interface IAppUsersChargeService extends IService<AppUsersCharge> {
      * @return 结果
      */
     public int deleteAppUsersChargeById(Long id);
+
+
+    /**
+     * 按日期查询下级用户充值列表
+     *
+     * */
+    public List<AppUsersCharge> getChargeList(Long userId,String beginTime,String endTime);
 }

+ 9 - 0
game-business/src/main/java/com/game/business/service/IFinTranRecordService.java

@@ -58,4 +58,13 @@ public interface IFinTranRecordService extends IService<FinTranRecord> {
      * @return 结果
      */
     public int deleteFinTranRecordById(Long id);
+
+
+    /**
+     * 删除消费记录信息
+     *
+     * @param userId 用户id
+     * @return 结果
+     */
+    public List<FinTranRecord> getUserRecordList(String userId,String beginTime,String endTime);
 }

+ 97 - 0
game-business/src/main/java/com/game/business/service/impl/AppUserAgentServiceImpl.java

@@ -0,0 +1,97 @@
+package com.game.business.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import java.util.List;
+        import com.game.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.game.business.mapper.AppUserAgentMapper;
+import com.game.business.domain.AppUserAgent;
+import com.game.business.service.IAppUserAgentService;
+import com.game.common.annotation.DataSource;
+import com.game.common.enums.DataSourceType;
+
+/**
+ * 用户代理表Service业务层处理
+ *
+ * @author game
+ * @date 2024-06-25
+ */
+@Service
+public class AppUserAgentServiceImpl extends ServiceImpl<AppUserAgentMapper, AppUserAgent> implements IAppUserAgentService {
+    @Autowired
+    private AppUserAgentMapper appUserAgentMapper;
+
+    /**
+     * 查询用户代理表
+     *
+     * @param id 用户代理表主键
+     * @return 用户代理表
+     */
+    @Override
+    @DataSource(DataSourceType.SLAVE)
+    public AppUserAgent selectAppUserAgentById(Long id) {
+        return appUserAgentMapper.selectAppUserAgentById(id);
+    }
+
+    /**
+     * 查询用户代理表列表
+     *
+     * @param appUserAgent 用户代理表
+     * @return 用户代理表
+     */
+    @Override
+    @DataSource(DataSourceType.SLAVE)
+    public List<AppUserAgent> selectAppUserAgentList(AppUserAgent appUserAgent) {
+        return appUserAgentMapper.selectAppUserAgentList(appUserAgent);
+    }
+
+    /**
+     * 新增用户代理表
+     *
+     * @param appUserAgent 用户代理表
+     * @return 结果
+     */
+    @Override
+    @DataSource(DataSourceType.SLAVE)
+    public int insertAppUserAgent(AppUserAgent appUserAgent) {
+                appUserAgent.setCreateTime(DateUtils.getNowDate());
+            return appUserAgentMapper.insertAppUserAgent(appUserAgent);
+    }
+
+    /**
+     * 修改用户代理表
+     *
+     * @param appUserAgent 用户代理表
+     * @return 结果
+     */
+    @Override
+    @DataSource(DataSourceType.SLAVE)
+    public int updateAppUserAgent(AppUserAgent appUserAgent) {
+        return appUserAgentMapper.updateAppUserAgent(appUserAgent);
+    }
+
+    /**
+     * 批量删除用户代理表
+     *
+     * @param ids 需要删除的用户代理表主键
+     * @return 结果
+     */
+    @Override
+    @DataSource(DataSourceType.SLAVE)
+    public int deleteAppUserAgentByIds(Long[] ids) {
+        return appUserAgentMapper.deleteAppUserAgentByIds(ids);
+    }
+
+    /**
+     * 删除用户代理表信息
+     *
+     * @param id 用户代理表主键
+     * @return 结果
+     */
+    @Override
+    @DataSource(DataSourceType.SLAVE)
+    public int deleteAppUserAgentById(Long id) {
+        return appUserAgentMapper.deleteAppUserAgentById(id);
+    }
+}

+ 17 - 0
game-business/src/main/java/com/game/business/service/impl/AppUserCountServiceImpl.java

@@ -1,11 +1,28 @@
 package com.game.business.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.game.business.domain.AppUserCount;
 import com.game.business.mapper.AppUserCountMapper;
 import com.game.business.service.IAppUserCountService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Collections;
+import java.util.List;
+
 @Service
 public class AppUserCountServiceImpl extends ServiceImpl<AppUserCountMapper, AppUserCount> implements IAppUserCountService {
+
+    @Autowired
+    private AppUserCountMapper appUserCountMapper;
+
+    @Override
+    public List<AppUserCount> getAppUserCount(long userId,String beginTime,String endTIme) {
+        LambdaQueryWrapper<AppUserCount> queryWrapper = new LambdaQueryWrapper<AppUserCount>();
+        queryWrapper.between(AppUserCount::getStrDate,beginTime,endTIme);
+        queryWrapper.eq(AppUserCount::getUserId,userId);
+        return appUserCountMapper.selectList(queryWrapper);
+    }
+
 }

+ 18 - 0
game-business/src/main/java/com/game/business/service/impl/AppUserServiceImpl.java

@@ -1,11 +1,13 @@
 package com.game.business.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import java.util.List;
 
 import com.game.common.annotation.DataSource;
 import com.game.common.enums.DataSourceType;
 import com.game.common.utils.DateUtils;
+import com.game.common.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.game.business.mapper.AppUserMapper;
@@ -44,6 +46,7 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> impl
     @Override
     @DataSource(DataSourceType.SLAVE)
     public List<AppUser> selectAppUserList(AppUser appUser) {
+        appUser.setDelFlag(0L);//查询未删除用户
         return appUserMapper.selectAppUserList(appUser);
     }
 
@@ -95,4 +98,19 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> impl
     public int deleteAppUserByUserid(Long userid) {
         return appUserMapper.deleteAppUserByUserid(userid);
     }
+
+    @Override
+    @DataSource(DataSourceType.SLAVE)
+    public int getCount(Long pid, String beginTime, String endTime) {
+        LambdaQueryWrapper<AppUser> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(AppUser::getPid, pid);
+        queryWrapper.eq(AppUser::getDelFlag,0);
+        if(StringUtils.isNotBlank(beginTime)){
+            queryWrapper.ge(AppUser::getInviteBindTime,beginTime);
+        }
+        if(StringUtils.isNotBlank(endTime)){
+            queryWrapper.le(AppUser::getInviteBindTime,endTime);
+        }
+        return appUserMapper.selectCount(queryWrapper).intValue();
+    }
 }

+ 13 - 0
game-business/src/main/java/com/game/business/service/impl/AppUsersCashrecordServiceImpl.java

@@ -1,6 +1,9 @@
 package com.game.business.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.util.Collections;
 import java.util.List;
 
 import com.game.common.annotation.DataSource;
@@ -93,4 +96,14 @@ public class AppUsersCashrecordServiceImpl extends ServiceImpl<AppUsersCashrecor
     public int deleteAppUsersCashrecordById(Long id) {
         return appUsersCashrecordMapper.deleteAppUsersCashrecordById(id);
     }
+
+    @Override
+    @DataSource(DataSourceType.SLAVE)
+    public List<AppUsersCashrecord> getUserCashList(Long userId, String beginTime, String endTime) {
+        LambdaQueryWrapper<AppUsersCashrecord> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(AppUsersCashrecord::getCashOutStatus,"1");
+        queryWrapper.eq(AppUsersCashrecord::getCashType,"7");//余额提现
+        queryWrapper.between(AppUsersCashrecord::getAddtime,beginTime,endTime);
+        return appUsersCashrecordMapper.selectList(queryWrapper);
+    }
 }

+ 19 - 0
game-business/src/main/java/com/game/business/service/impl/AppUsersChargeServiceImpl.java

@@ -1,10 +1,15 @@
 package com.game.business.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.util.Collections;
 import java.util.List;
 
 import com.game.common.annotation.DataSource;
 import com.game.common.enums.DataSourceType;
+import com.game.common.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.game.business.mapper.AppUsersChargeMapper;
@@ -93,4 +98,18 @@ public class AppUsersChargeServiceImpl extends ServiceImpl<AppUsersChargeMapper,
     public int deleteAppUsersChargeById(Long id) {
         return appUsersChargeMapper.deleteAppUsersChargeById(id);
     }
+
+    @Override
+    @DataSource(DataSourceType.SLAVE)
+    public List<AppUsersCharge> getChargeList(Long userId, String beginTime, String endTime) {
+        LambdaQueryWrapper<AppUsersCharge> queryWrapper = new LambdaQueryWrapper<>();
+        if(null != userId) {
+            queryWrapper.eq(AppUsersCharge::getUid, userId);
+        }
+        queryWrapper.between(AppUsersCharge::getAddtime,beginTime,endTime);
+        queryWrapper.eq(AppUsersCharge::getIsDelete,0);
+        queryWrapper.eq(AppUsersCharge::getStatus,"1");
+        queryWrapper.notIn(AppUsersCharge::getType,new Integer[]{4,6,7});
+        return appUsersChargeMapper.selectList(queryWrapper);
+    }
 }

+ 14 - 0
game-business/src/main/java/com/game/business/service/impl/FinTranRecordServiceImpl.java

@@ -1,11 +1,15 @@
 package com.game.business.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.util.Collections;
 import java.util.List;
 
 import com.game.common.annotation.DataSource;
 import com.game.common.enums.DataSourceType;
 import com.game.common.utils.DateUtils;
+import com.game.common.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.game.business.mapper.FinTranRecordMapper;
@@ -96,4 +100,14 @@ public class FinTranRecordServiceImpl extends ServiceImpl<FinTranRecordMapper, F
     public int deleteFinTranRecordById(Long id) {
         return finTranRecordMapper.deleteFinTranRecordById(id);
     }
+
+    @Override
+    public List<FinTranRecord> getUserRecordList(String userId, String beginTime, String endTime) {
+        LambdaQueryWrapper<FinTranRecord> queryWrapper = new LambdaQueryWrapper<FinTranRecord>();
+        queryWrapper.between(FinTranRecord::getCreateTime,beginTime,endTime);
+        if(StringUtils.isNotBlank(userId)){
+            queryWrapper.eq(FinTranRecord::getFromUid,userId);
+        }
+        return finTranRecordMapper.selectList(queryWrapper);
+    }
 }

+ 63 - 0
game-business/src/main/java/com/game/business/task/AppUserCountTask.java

@@ -1,4 +1,67 @@
 package com.game.business.task;
 
+import cn.hutool.core.date.DateUtil;
+import com.game.business.domain.*;
+import com.game.business.service.IAppUserService;
+import com.game.business.service.IAppUsersCashrecordService;
+import com.game.business.service.IAppUsersChargeService;
+import com.game.business.service.IFinTranRecordService;
+import com.game.common.utils.DateUtils;
+import com.game.common.utils.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@Component("appUserCountTask")
 public class AppUserCountTask {
+
+    @Autowired
+    private IAppUsersChargeService appUsersChargeService;
+
+    @Autowired
+    private IAppUserService appUserService;
+
+    @Autowired
+    private IAppUsersCashrecordService appUsersCashrecordService;
+
+    @Autowired
+    private IFinTranRecordService finTranRecordService;
+
+
+    /**
+     * 统计用户前一天
+     * */
+    public void statistics(String dateTime){
+        Date curDate = DateUtil.offsetDay(DateUtils.getNowDate(),-1);
+        if(StringUtils.isNotBlank(dateTime)){
+            curDate = DateUtil.parse(dateTime,"yyyy-MM-dd");
+        }else{
+            dateTime = DateUtils.parseDateToStr("yyyy-MM-dd",curDate);
+        }
+        List<AppUser> list = appUserService.selectAppUserList(new AppUser());//查询所有用户
+        List<AppUsersCharge> appUsersChargeList = appUsersChargeService.getChargeList(null,dateTime.concat(" 00:00:00"),dateTime.concat(" 23:59:59"));
+        List<AppUsersCashrecord> appUsersCashrecords = appUsersCashrecordService.getUserCashList(null,dateTime.concat(" 00:00:00"),dateTime.concat(" 23:59:59"));
+//        List<FinTranRecord> finTranRecordList = finTranRecordService.getUserRecordList(null,)
+        if(null != list && list.size()>0){
+            List<AppUserCount> appUserCountList = new ArrayList<>();
+            String finalDateTime = dateTime;
+            list.forEach(appUser -> {
+                AppUserCount appUserCount = new AppUserCount();
+                appUserCount.setUserId(appUser.getUserid());
+                appUserCount.setStrDate(finalDateTime);
+                appUserCount.setAgentUserId(appUser.getPid());
+                //充值总额
+                appUserCount.setRechargeAmount(appUsersChargeList.stream().filter(e->e.getUid().equals(appUser.getUserid())).mapToDouble(e->e.getMoney().doubleValue()).sum());
+                //提现金额
+                appUserCount.setWithdrawalAmount(appUsersCashrecords.stream().filter(e->e.getUid().equals(appUser.getUserid())).mapToDouble(e->e.getMoney().doubleValue()).sum());
+                //提现服务费/手续费
+                appUserCount.setWithdrawalCommission(appUsersCashrecords.stream().filter(e->e.getUid().equals(appUser.getUserid())).mapToDouble(e->e.getService().doubleValue()).sum());
+            });
+        }
+
+    }
+
 }

+ 43 - 0
game-business/src/main/java/com/game/business/vo/AppUserAgentJournalIndexVO.java

@@ -0,0 +1,43 @@
+package com.game.business.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@JsonIgnoreProperties
+@ApiModel(value = "com.kalacheng.buscommon.modelvo.AppUserAgentJournalVO", description = "代理中心首页统计数据")
+public class AppUserAgentJournalIndexVO {
+
+    @ApiModelProperty(value = "我的佣金")
+    private double myCommission;
+
+    @ApiModelProperty(value = "团队充值")
+    private double teamRecharge;
+
+    @ApiModelProperty(value = "团队投注")
+    private double teamBetting;
+
+    @ApiModelProperty(value = "团队直播消费(金币)")
+    private double teamLive;
+
+    @ApiModelProperty(value = "团队投注 赢")
+    private double teamWin;
+
+    @ApiModelProperty(value = "团队投注 输")
+    private double teamLose;
+
+    @ApiModelProperty(value = "团队人数")
+    private int teamUser;
+
+    @ApiModelProperty(value = "活跃人数")
+    private int activeUser;
+
+    @ApiModelProperty(value = "昨日新增")
+    private int yesterdayUser;
+
+    @ApiModelProperty(value = "月新增")
+    private int monthUser;
+
+}

+ 67 - 0
game-business/src/main/resources/mapper/business/AppUserAgentMapper.xml

@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.game.business.mapper.AppUserAgentMapper">
+    
+    <resultMap type="com.game.business.domain.AppUserAgent" id="AppUserAgentResult">
+        <result property="id"    column="id"    />
+        <result property="userId"    column="user_id"    />
+        <result property="pid"    column="pid"    />
+        <result property="createTime"    column="create_time"    />
+    </resultMap>
+
+    <sql id="selectAppUserAgentVo">
+        select id, user_id, pid, create_time from app_user_agent
+    </sql>
+
+    <select id="selectAppUserAgentList" parameterType="com.game.business.domain.AppUserAgent" resultMap="AppUserAgentResult">
+        <include refid="selectAppUserAgentVo"/>
+        <where>  
+            <if test="userId != null "> and user_id = #{userId}</if>
+            <if test="pid != null "> and pid = #{pid}</if>
+        </where>
+    </select>
+    
+    <select id="selectAppUserAgentById" parameterType="Long" resultMap="AppUserAgentResult">
+        <include refid="selectAppUserAgentVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertAppUserAgent" parameterType="com.game.business.domain.AppUserAgent">
+        insert into app_user_agent
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="userId != null">user_id,</if>
+            <if test="pid != null">pid,</if>
+            <if test="createTime != null">create_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="userId != null">#{userId},</if>
+            <if test="pid != null">#{pid},</if>
+            <if test="createTime != null">#{createTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateAppUserAgent" parameterType="com.game.business.domain.AppUserAgent">
+        update app_user_agent
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="userId != null">user_id = #{userId},</if>
+            <if test="pid != null">pid = #{pid},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteAppUserAgentById" parameterType="Long">
+        delete from app_user_agent where id = #{id}
+    </delete>
+
+    <delete id="deleteAppUserAgentByIds" parameterType="String">
+        delete from app_user_agent where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 1 - 0
game-business/src/main/resources/mapper/business/AppUserMapper.xml

@@ -159,6 +159,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="diamondCoin"    column="diamond_coin"    />
         <result property="diamondCoinTotal"    column="diamond_coin_total"    />
         <result property="diamondCoinCashTotal"    column="diamond_coin_cash_total"    />
+        <result property="agentFlag"    column="agent_flag"    />
     </resultMap>
 
     <sql id="selectAppUserVo">

+ 112 - 0
game-common/src/main/java/com/game/common/constant/ProjConfig.java

@@ -0,0 +1,112 @@
+package com.game.common.constant;
+
+
+import com.game.common.utils.MessageUtils;
+
+/**
+ * 项目配置文件,
+ */
+public class ProjConfig {
+
+    static String m_ServerUrl = null;
+    static String m_siteName = "后台管理系统";
+    /**
+     * 充值货币名称,金币
+     */
+    static String m_coinName = "11073";
+    /**
+     * 充值货币图标,金币
+     */
+    static String m_coinIcon = "";
+    /**
+     * 收益货币名称,映票
+     */
+    static String m_ticketName = "11074";
+    /**
+     * 收益货币名称,映票
+     */
+    static String d_ticketName = "11570";
+    /**
+     * 收益货币图标,映票
+     */
+    static String m_ticketIcon = "";
+
+    public static void setSiteName(String siteName) {
+        if (siteName == null || siteName.length() < 1) {
+            m_siteName = "后台管理系统";
+        }
+        m_siteName = siteName;
+    }
+
+    public static String getSizeName() {
+        return m_siteName;
+    }
+
+    public static void setServerUrl(String url) {
+        if (url == null || url.length() < 1) {
+            return;
+        }
+        if (url.endsWith("/")) {
+            url = url.substring(0, url.length() - 1);
+        }
+        m_ServerUrl = url;
+    }
+
+    /**
+     * 服务器的网址,在站点信息中设置,设置后会更新。
+     */
+    public static String getServerUrl() {
+        return m_ServerUrl;
+    }
+
+    /**
+     * 获取金币名称
+     *
+     * @return
+     */
+    public static String getCoinName() {
+        return MessageUtils.message(m_coinName);
+    }
+
+    public static void setCoinName(String coinName) {
+        ProjConfig.m_coinName = coinName;
+    }
+
+    /**
+     * 获取映票名称
+     */
+    public static String getTicketName() {
+        return MessageUtils.message(m_ticketName);
+    }
+
+    /**
+     * 获取余额名称
+     */
+    public static String getD_ticketName() {
+        return MessageUtils.message(d_ticketName);
+    }
+
+    public static void setD_ticketName(String d_ticketName) {
+        ProjConfig.d_ticketName = d_ticketName;
+    }
+
+    public static void setTicketName(String ticketName) {
+        ProjConfig.m_ticketName = ticketName;
+    }
+
+    public static String getCoinIcon() {
+        return m_coinIcon;
+    }
+
+    public static void setCoinIcon(String coinIcon) {
+        ProjConfig.m_coinIcon = coinIcon;
+    }
+
+    public static String getTicketIcon() {
+        return m_ticketIcon;
+    }
+
+    public static void setTicketIcon(String ticketIcon) {
+        ProjConfig.m_ticketIcon = ticketIcon;
+    }
+}

+ 149 - 0
game-common/src/main/java/com/game/common/constant/finance/FinTranType1.java

@@ -0,0 +1,149 @@
+package com.game.common.constant.finance;
+
+import com.game.common.constant.ProjConfig;
+import com.game.common.entity.KeyValue;
+import com.game.common.utils.MessageUtils;
+
+import java.util.ArrayList;
+
+public enum FinTranType1 {
+    /**
+     * 获得的(金币)
+     */
+    U_Income_Coin(11, MessageUtils.message("11329") + ProjConfig.getCoinName()),
+    /**
+     * 获得的(映票)
+     */
+    U_Income_Ticket(13, MessageUtils.message("11329") + ProjConfig.getTicketName()),
+    /**
+     * 用户获得的(人民币)
+     */
+    U_Income_Money(41, "11330"),
+
+    /**
+     * 减少的(金币);
+     */
+    U_Outcome_Coin(12, MessageUtils.message("11331")+ ProjConfig.getCoinName()),
+    /**
+     * 减少的(映票)
+     */
+    U_Outcome_Ticket(14, MessageUtils.message("11331") + ProjConfig.getTicketName()),
+    /**
+     * 减少的(人民币)
+     */
+    U_Outcome_Money(15, "11332"),
+
+    /**
+     * 减少的(余额)
+     */
+    U_Outcome_Balance(16, "11571"),
+
+    /**
+     * 添加的(余额)
+     */
+    U_Income_Coin_Balance(17, "11573"),
+
+
+    /**
+     * 代理获得的(人民币)AgentAmount 仅用于 FinAdminTranRecord 表
+     */
+    Agent_Income_Money(21, "11333"),
+    /**
+     * 工会获得的(映票) GuildTicket 仅用于 FinAdminTranRecord 表
+     */
+    Guild_Income_Ticket(32, "11334"),
+
+    /**
+     * 工会获得的(金币) GuildTicket 仅用于 FinAdminTranRecord 表
+     */
+    Guild_Income_Coin(34, "11334"),
+    /**
+     * 经纪人获得的(映票)ManagerTicket 仅用于 FinAdminTranRecord 表
+     */
+    Manager_Income_Ticket(33, "11335"),
+    /**
+     * 经纪人获得的(映票)ManagerTicket 仅用于 FinAdminTranRecord 表
+     */
+    Manager_Income_Coin(35, "11335"),
+
+    /**
+     * 平台支出(人民币)
+     */
+    SYS_Outcome_Amount(51, "11332"),
+    /**
+     * 平台支出(金币)
+     */
+    SYS_Outcome_Coin(52, MessageUtils.message("11331") + ProjConfig.getCoinName()),
+    /**
+     * 平台收益的映票
+     */
+    SYS_Income_Ticket(53, MessageUtils.message("11329") + ProjConfig.getTicketName()),
+    /**
+     * 平台收益的映票
+     */
+    SYS_Income_Coin(56, MessageUtils.message("11329") + ProjConfig.getCoinName()),
+    /**
+     * 平台支出映票
+     */
+    SYS_Outcome_Ticket(54, MessageUtils.message("11331") + ProjConfig.getTicketName()),
+    /**
+     * 平台收入(人民币)
+     */
+    SYS_Income_Amount(55, "11330"),
+    ;
+
+    private String name;
+    private int type;
+
+    static KeyValue[] m_KeyValueArr;
+
+    public static KeyValue[] getKeyValues() {
+        if (m_KeyValueArr == null) {
+            ArrayList<KeyValue> listKV = new ArrayList<KeyValue>();
+            listKV.add(new KeyValue("", "全部", true));
+            for (FinTranType1 m : FinTranType1.values()) {
+                KeyValue kv = new KeyValue("" + m.type, m.name);
+                listKV.add(kv);
+            }
+            m_KeyValueArr = listKV.toArray(new KeyValue[0]);
+        }
+        return m_KeyValueArr;
+    }
+
+    FinTranType1(int type, String name) {
+        this.type = type;
+        this.name = name;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public int getType() {
+        return type;
+    }
+
+    public static String getNameDescribe(int n) {
+        switch (n) {
+            case 11:
+            case 12:
+            case 52:
+                return ProjConfig.getCoinName();
+            case 13:
+            case 14:
+            case 32:
+            case 33:
+            case 53:
+            case 54:
+                return ProjConfig.getTicketName();
+            case 41:
+            case 15:
+            case 21:
+            case 51:
+            case 55:
+                return "人民币";
+            default:
+                return "";
+        }
+    }
+}

+ 172 - 0
game-common/src/main/java/com/game/common/constant/finance/FinTranType2.java

@@ -0,0 +1,172 @@
+package com.game.common.constant.finance;
+
+import com.game.common.constant.ProjConfig;
+import com.game.common.entity.KeyValue;
+
+import java.util.ArrayList;
+
+/**
+ * @author jiang
+ */
+
+public enum FinTranType2 {
+
+    /**
+     * 未知的
+     */
+    TypeNone(0, "10986"),
+    /**
+     * 充值
+     */
+    CHARGE(10, "11212"),
+    /**
+     * 奖励收益
+     */
+    REWARD_Income(12, "11169"),
+    /**
+     * 推荐佣金
+     */
+    RECOMMEND_AMOUNT(50, "11213"),
+    /**
+     * 兑换金币
+     */
+    EXCHANGE_COIN(13, "11214" + ProjConfig.getCoinName()),
+    /**
+     * 兑换余额
+     */
+    EXCHANGE_DiamondCoin(14, "11214" + ProjConfig.getD_ticketName()),
+    /**
+     * 游戏中奖
+     */
+    GAME_REWARD(14, "11215"),
+    /**
+     * 打赏
+     */
+    CONSUM_SEND_GIFT(20, "11216"),
+    /**
+     * 点歌
+     */
+    CONSUM_CHOOSE_SONG(21, "11217"),
+    /**
+     * 付费直播回放
+     */
+    CONSUM_PAY_COIN_LIVE_REPLAY(22, "11218"),
+    /**
+     * 私密视图
+     */
+    CONSUM_PRIVATE_VIEW(23, "11168"),
+    /**
+     * 守护
+     */
+    CONSUM_GUARD(24, "11219"),
+    /**
+     * 粉丝团
+     */
+    CONSUM_FANS_TEAM(25, "11061"),
+    /**
+     * 发送弹幕
+     */
+    CONSUM_SEND_BARRAGE(26, "11166"),
+    /**
+     * 购买贵族
+     */
+    CONSUM_BUY_NOBLE(27, "11220"),
+    /**
+     * 付费通话
+     */
+    CONSUM_PAY_COIN_1V1(28, "11129"),
+    /**
+     * 购买道具
+     */
+    CONSUM_BUY_PROP(29, "11221"),
+    /**
+     * 游戏消费
+     */
+    CONSUM_GAME(200, "11222"),
+    /**
+     * 红包
+     */
+    CONSUM_RED_PACKAGE(201, "11223"),
+    /**
+     * 查看联系方式
+     */
+    CONSUM_WATCH_CONTACT(202, "11224"),
+    /**
+     * 购买SVIP
+     */
+    CONSUM_BUY_SVIP(204, "11225"),
+    /**
+     * 房间费用
+     */
+    CONSUM_ROOM_COIN(205, "11226"),
+    /**
+     * 付费私信
+     */
+    CONSUM_CHAT_CHARGES(206, "11173"),
+    /**
+     * 购买贵宾席
+     */
+    CONSUM_BUY_VIPSEATS(208, "11227"),
+    /**
+     * 游戏抽奖
+     */
+    CONSUM_LUCK_DRAW(209, "11228"),
+    /**
+     * 提现
+     */
+    CASH(60, "11229"),
+    /**
+     * 寻觅订单
+     */
+    SEEK_ORDER(220, "11230"),
+
+    /**
+     * 长视频(电视剧)
+     */
+    TV_VIDEO(221, "11231"),
+    /**
+     * 盲盒
+     */
+    BLIND_BOX(222, "11232"),
+    ;
+
+    private int type;
+    private String name;
+
+    static KeyValue[] m_KeyValueArr;
+
+    public static KeyValue[] getKeyValues() {
+        if (m_KeyValueArr == null) {
+            ArrayList<KeyValue> listKV = new ArrayList<>();
+            listKV.add(new KeyValue("", "全部", true));
+            for (FinTranType2 m : FinTranType2.values()) {
+                KeyValue kv = new KeyValue("" + m.type, m.name);
+                listKV.add(kv);
+            }
+            m_KeyValueArr = listKV.toArray(new KeyValue[0]);
+        }
+        return m_KeyValueArr;
+    }
+
+    FinTranType2(int type, String name) {
+        this.type = type;
+        this.name = name;
+    }
+
+    public int getType() {
+        return type;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public static String getNameDescribe(int type) {
+        for (FinTranType2 m : FinTranType2.values()) {
+            if (m.type == type) {
+                return m.name;
+            }
+        }
+        return null;
+    }
+}

+ 394 - 0
game-common/src/main/java/com/game/common/constant/finance/FinTranType3.java

@@ -0,0 +1,394 @@
+package com.game.common.constant.finance;
+
+import com.game.common.constant.ProjConfig;
+import com.game.common.entity.KeyValue;
+import com.game.common.utils.MessageUtils;
+
+import java.util.ArrayList;
+
+/**
+ * @author jiang
+ */
+
+public enum FinTranType3 {
+    /**
+     * 未知的
+     */
+    TypeNone(FinTranType2.TypeNone, 0, "10986"),
+    /**
+     * 充值 - 线上充值
+     */
+    ON_LINE_CHARGE(FinTranType2.CHARGE, 1001, "11275"),
+    /**
+     * 充值 - 人工充值
+     */
+    CHARGE_IN(FinTranType2.CHARGE, 1101, MessageUtils.message("11212") + ProjConfig.getCoinName()),
+    /**
+     * 充值 - 后台充值
+     */
+    CHARGE_IN_Back(FinTranType2.CHARGE, 1108, "11276"),
+    /**
+     * 充值 - 扣除金币
+     */
+    CHARGE_OUT(FinTranType2.CHARGE, 1102, MessageUtils.message("11277") + ProjConfig.getCoinName()),
+
+    /**
+     * 游戏 - 游戏奖励
+     */
+    CHARGE_WIN_GAME(FinTranType2.GAME_REWARD, 1103, "11215"),
+
+    /**
+     * 活动 - 首充奖励
+     */
+    FIRST_CHARGE_REWARD(FinTranType2.REWARD_Income, 1201, "11278"),
+    /**
+     * 活动 - 新手大礼包
+     */
+    NEW_USER_GIFT_PACKAGE(FinTranType2.REWARD_Income, 1202, "11279"),
+    /**
+     * 活动 - 购买贵族赠送金币收益
+     */
+    INCOIN_BUY_NOBLE_REWARD(FinTranType2.REWARD_Income, 1203, "11280"),
+    /**
+     * 活动 - 等级礼包
+     */
+    INCOIN_GRADE_GIFT_PACKAGE(FinTranType2.REWARD_Income, 1204, "11281"),
+    /**
+     * 活动 - 连续登录奖励
+     */
+    CONTINUE_LOGIN_REWARD(FinTranType2.REWARD_Income, 1205, "11282"),
+    /**
+     * 活动 - 签到奖励
+     */
+    SIGN_IN_REWARD(FinTranType2.REWARD_Income, 1206, "11032"),
+    /**
+     * 活动 - 充值奖励
+     */
+    CHARGE_IN_REWARD(FinTranType2.REWARD_Income, 1207, "11283"),
+    /**
+     * 兑换 - 佣金兑换金币
+     */
+    AMOUNT_TO_COIN(FinTranType2.EXCHANGE_COIN, 1301, MessageUtils.message("11284") + ProjConfig.getCoinName()),
+    /**
+     * 兑换 - 映票兑换金币
+     */
+    Ticket_TO_COIN(FinTranType2.EXCHANGE_COIN, 1302, ProjConfig.getTicketName() + MessageUtils.message("11214") + ProjConfig.getCoinName()),
+    /**
+     * 兑换 - 余额兑换金币
+     */
+    DiamondCoin_TO_COIN(FinTranType2.EXCHANGE_COIN, 1303, ProjConfig.getD_ticketName() + MessageUtils.message("11214") + ProjConfig.getCoinName()),
+    /**
+     * 兑换 - 余额兑换金币
+     */
+    COIN_TO_DiamondCoin(FinTranType2.EXCHANGE_COIN, 1304, ProjConfig.getCoinName() + MessageUtils.message("11214") + ProjConfig.getD_ticketName()),
+
+    /**
+     * 赠送礼物 - 直播房间内
+     */
+    CONSUM_LIVE_ROOM_REWARD(FinTranType2.CONSUM_SEND_GIFT, 2001, "11285"),
+    /**
+     * 赠送礼物 - 短视频打赏
+     */
+    CONSUM_NEWS_REWARD(FinTranType2.CONSUM_SEND_GIFT, 2002, "11286"),
+    /**
+     * 赠送礼物 - 聊天打赏
+     */
+    CONSUM_CHAT_REWARD(FinTranType2.CONSUM_SEND_GIFT, 2003, "11287"),
+    /**
+     * 赠送礼物 - 通话打赏
+     */
+    CONSUM_O2O_CALL_REWARD(FinTranType2.CONSUM_SEND_GIFT, 2004, "11288"),
+    /**
+     * 赠送礼物 - 个人主页打赏
+     */
+    CONSUM_PERSONAL_HOME_PAGE_REWARD(FinTranType2.CONSUM_SEND_GIFT, 2005, "11289"),
+    /**
+     * 赠送礼物 - 幸运礼物
+     */
+    CONSUM_LUCKY_GIFT_REWARD(FinTranType2.CONSUM_SEND_GIFT, 2006, "11290"),
+    /**
+     * 赠送礼物 - 长视频
+     */
+    CONSUM_TELEVISION_VIDEO_REWARD(FinTranType2.CONSUM_SEND_GIFT, 2007, "11291"),
+
+    /**
+     * 付费功能 - 点歌
+     */
+    CONSUM_CHOOSE_SONG(FinTranType2.CONSUM_CHOOSE_SONG, 2101, "11217"),
+    /**
+     * 付费功能 - 直播回放
+     */
+    CONSUM_PAY_COIN_LIVE_REPLAY(FinTranType2.CONSUM_PAY_COIN_LIVE_REPLAY, 2201, "11167"),
+    /**
+     * 付费功能 - 私密视频
+     */
+    CONSUM_PRIVATE_VIDEO(FinTranType2.CONSUM_PRIVATE_VIEW, 2301, "11292"),
+    /**
+     * 付费功能 - 私密图片
+     */
+    CONSUM_PRIVATE_IMG(FinTranType2.CONSUM_PRIVATE_VIEW, 2302, "11293"),
+    /**
+     * 付费功能 - 守护
+     */
+    CONSUM_GUARD(FinTranType2.CONSUM_GUARD, 2401, "11219"),
+    /**
+     * 付费功能 - 加入粉丝团
+     */
+    CONSUM_FANS_TEAM(FinTranType2.CONSUM_FANS_TEAM, 2501, "11294"),
+    /**
+     * 付费功能 - 发送弹幕
+     */
+    CONSUM_PT_TEXT_BARRAGE(FinTranType2.CONSUM_SEND_BARRAGE, 2601, "11166"),
+    /**
+     * 付费功能 - 购买贵族
+     */
+    CONSUM_BUY_NOBLE(FinTranType2.CONSUM_BUY_NOBLE, 2701, "11220"),
+
+    /**
+     * 通话 - 视频通话
+     */
+    CONSUM_PAY_O2O_VIDEO(FinTranType2.CONSUM_PAY_COIN_1V1, 2801, "11295"),
+    /**
+     * 通话 - 语音通话
+     */
+    CONSUM_PAY_O2O_VOICE(FinTranType2.CONSUM_PAY_COIN_1V1, 2802, "11296"),
+    /**
+     * 通话 - 用户间通话
+     */
+    CONSUM_PAY_O2O_UU(FinTranType2.CONSUM_PAY_COIN_1V1, 2803, "11297"),
+
+    /**
+     * 道具 - 购买坐骑
+     */
+    CONSUM_BUY_CAR(FinTranType2.CONSUM_BUY_PROP, 2901, "11298"),
+
+    /**
+     * 道具 - 购买坐骑
+     */
+    CONSUM_BUY_MIC_SEAT(FinTranType2.CONSUM_BUY_PROP, 2903, "11299"),
+    /**
+     * 道具 - 购买靓号
+     */
+    CONSUM_BUY_LIANG(FinTranType2.CONSUM_BUY_PROP, 2902, "11300"),
+
+    /**
+     * 游戏 - 游戏消费
+     */
+    CONSUM_GAME_ANCHOR_ZHUANPAN(FinTranType2.CONSUM_GAME, 20001, "11222"),
+
+    /**
+     * 红包 - 发红包
+     */
+    CONSUM_SEND_RED_PACKAGE(FinTranType2.CONSUM_RED_PACKAGE, 20101, "11245"),
+    /**
+     * 红包 - 领红包
+     */
+    INCOIN_GET_RED_PACKAGE(FinTranType2.CONSUM_RED_PACKAGE, 20102, "11246"),
+    /**
+     * 红包 - 红包退回
+     */
+    CONSUM_QUIT_RED_PACKAGE(FinTranType2.CONSUM_RED_PACKAGE, 20103, "11301"),
+
+    /**
+     * 付费功能 - 查看手机号
+     */
+    CONSUM_WATCH_MOBILE(FinTranType2.CONSUM_WATCH_CONTACT, 20201, "11302"),
+    /**
+     * 付费功能 - 查看微信号
+     */
+    CONSUM_WATCH_WECHAT(FinTranType2.CONSUM_WATCH_CONTACT, 20202, "11303"),
+    /**
+     * 付费功能 - 购买SVIP
+     */
+    CONSUM_BUY_SVIP(FinTranType2.CONSUM_BUY_SVIP, 20401, "11225"),
+
+    /**
+     * 付费功能 - 付费房间
+     */
+    CONSUM_ROOM_PAY(FinTranType2.CONSUM_ROOM_COIN, 20501, "11304"),
+    /**
+     * 付费功能 - 计时房间
+     */
+    CONSUM_ROOM_TIME(FinTranType2.CONSUM_ROOM_COIN, 20502, "11305"),
+    /**
+     * 付费功能 - 购买贵宾席
+     */
+    CONSUM_BUY_VIPSEATS(FinTranType2.CONSUM_BUY_VIPSEATS, 20702, "11227"),
+    /**
+     * 付费功能 - 付费私信
+     */
+    CONSUM_CHAT_CHARGES(FinTranType2.CONSUM_CHAT_CHARGES, 20203, "11173"),
+    /**
+     * 付费功能 - 百宝箱抽奖
+     */
+    CONSUM_TREASURE_CHEST(FinTranType2.CONSUM_LUCK_DRAW, 20703, "11306"),
+
+    /**
+     * 佣金 - 注册佣金
+     */
+    RECOMMEND_REG_USER_AMOUNT(FinTranType2.RECOMMEND_AMOUNT, 5001, "11307"),
+    /**
+     * 佣金 - 主播认证佣金
+     */
+    RECOMMEND_REG_ANCHOR_AMOUNT(FinTranType2.RECOMMEND_AMOUNT, 5002, "11308"),
+    /**
+     * 佣金 - 签到佣金
+     */
+    RECOMMEND_SIGN_IN_AMOUNT(FinTranType2.RECOMMEND_AMOUNT, 1406, "11309"),
+    /**
+     * 佣金 - 通话佣金
+     */
+    RECOMMEND_OOO_CALL_AMOUNT(FinTranType2.RECOMMEND_AMOUNT, 5003, "11310"),
+    /**
+     * 佣金 - 打赏佣金
+     */
+    RECOMMEND_REWARD_AMOUNT(FinTranType2.RECOMMEND_AMOUNT, 5004, "11311"),
+    /**
+     * 佣金 - 补发佣金
+     */
+    RECOMMEND_ADD_AMOUNT(FinTranType2.RECOMMEND_AMOUNT, 5005, "11312"),
+    /**
+     * 佣金 - 用户充值
+     */
+    RECOMMEND_USER_RECHARGE(FinTranType2.RECOMMEND_AMOUNT, 5006, "11313"),
+    /**
+     * 佣金 - 购买贵族佣金
+     */
+    RECOMMEND_BUY_NOBLE(FinTranType2.RECOMMEND_AMOUNT, 5007, "11314"),
+    /**
+     * 佣金 - 购买SVIP佣金
+     */
+    RECOMMEND_BUY_SVIP(FinTranType2.RECOMMEND_AMOUNT, 5008, "11315"),
+    /**
+     * 佣金 - 盲盒
+     */
+    RECOMMEND_BUY_BLIND_BOX(FinTranType2.RECOMMEND_AMOUNT, 5009, "11316"),
+
+
+    /**
+     * 佣金提现 - 用户佣金提现
+     */
+    CASH_USER_AMOUNT(FinTranType2.CASH, 6001, "11317"),
+    /**
+     * 佣金提现 - 代理佣金提现
+     */
+    CASH_AGENT_AMOUNT(FinTranType2.CASH, 6002, "11318"),
+
+    /**
+     * 映票提现 - 主播收益提现
+     */
+    CASH_ANCHOR_INCOME(FinTranType2.CASH, 6003, "11319"),
+    /**
+     * 映票提现 - 公会佣金提现
+     */
+    CASH_GUILD_INCOME(FinTranType2.CASH, 6004, "11320"),
+    /**
+     * 映票提现 - 商家收益提现
+     */
+    CASH_BUSINESS_INCOME(FinTranType2.CASH, 6005, "11321"),
+
+    /**
+     * 余额提现 - 用户(主播)余额提现
+     */
+    CASH_DIAMOND_INCOME(FinTranType2.CASH, 6006, "11572"),
+
+    /**
+     * 寻觅 - 寻觅下单
+     */
+    SEEK_PLACE_ORDER(FinTranType2.SEEK_ORDER, 22001, "11322"),
+    /**
+     * 寻觅 - 订单取消
+     */
+    SEEK_ORDER_CANCEL(FinTranType2.SEEK_ORDER, 22002, "11323"),
+    /**
+     * 寻觅 - 订单拒绝
+     */
+    SEEK_ORDER_REFUSE(FinTranType2.SEEK_ORDER, 22003, "11324"),
+    /**
+     * 寻觅 - 订单完结
+     */
+    SEEK_ORDER_FINISH(FinTranType2.SEEK_ORDER, 22004, "11325"),
+
+    /**
+     * 电视剧 - 购买电视剧集
+     */
+    BUY_TV_VIDEO(FinTranType2.TV_VIDEO, 22101, "11326"),
+    /**
+     * 打开盲盒
+     */
+    OPEN_BLIND_BOX(FinTranType2.BLIND_BOX, 22201, "11327"),
+    /**
+     * 存盲盒
+     */
+    KEEP_BLIND_BOX(FinTranType2.BLIND_BOX, 22202, "11328"),
+    ;
+
+    private FinTranType2 first;
+    private int typeValue;
+    private String typeName;
+
+    static KeyValue[] m_KeyValueArr = null;
+
+    public static KeyValue[] getKeyValues() {
+        if (m_KeyValueArr == null) {
+            ArrayList<KeyValue> listKV = new ArrayList<KeyValue>();
+            listKV.add(new KeyValue("", "全部", true));
+            for (FinTranType3 m : FinTranType3.values()) {
+                KeyValue kv = new KeyValue("" + m.typeValue, m.typeName);
+                listKV.add(kv);
+            }
+            m_KeyValueArr = listKV.toArray(new KeyValue[0]);
+        }
+        return m_KeyValueArr;
+    }
+
+    public static KeyValue[] getKeyValuesByType2(FinTranType2 type2) {
+
+        ArrayList<KeyValue> listKV = new ArrayList<KeyValue>();
+        listKV.add(new KeyValue("", "全部", true));
+        for (FinTranType3 m : FinTranType3.values()) {
+            if (m.getTranType2() == type2) {
+                KeyValue kv = new KeyValue("" + m.typeValue, m.typeName);
+                listKV.add(kv);
+            }
+        }
+        return listKV.toArray(new KeyValue[0]);
+    }
+
+
+    FinTranType3(FinTranType2 first, int childType, String childName) {
+        this.first = first;
+        this.typeName = childName;
+        this.typeValue = childType;
+    }
+
+    public FinTranType2 getTranType2() {
+        return first;
+    }
+
+    public int getType() {
+        return typeValue;
+    }
+
+    public String getTypeName() {
+        return typeName;
+    }
+
+    public int getCode() {
+        return typeValue;
+    }
+
+    public String getName() {
+        return typeName;
+    }
+
+    public static String getNameDescribe(int n) {
+        for (FinTranType3 m : FinTranType3.values()) {
+            if (m.typeValue == n) {
+                return m.typeName;
+            }
+        }
+        return null;
+    }
+
+}

+ 3 - 0
game-common/src/main/java/com/game/common/core/domain/entity/SysDept.java

@@ -6,6 +6,9 @@ import javax.validation.constraints.Email;
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 import javax.validation.constraints.Size;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import com.game.common.core.domain.BaseEntity;

+ 19 - 0
game-common/src/main/java/com/game/common/entity/KeyValue.java

@@ -0,0 +1,19 @@
+package com.game.common.entity;
+
+public class KeyValue {
+    public String a;
+    public String b;
+    public boolean c;
+
+    public KeyValue(String id, String title) {
+        this.a = id;
+        this.b = title;
+        this.c = false;
+    }
+
+    public KeyValue(String id, String title, boolean isAll) {
+        this.a = id;
+        this.b = title;
+        this.c = isAll;
+    }
+}

+ 5 - 0
game-common/src/main/java/com/game/common/utils/MessageUtils.java

@@ -3,6 +3,10 @@ package com.game.common.utils;
 import org.springframework.context.MessageSource;
 import org.springframework.context.i18n.LocaleContextHolder;
 import com.game.common.utils.spring.SpringUtils;
+import org.springframework.context.support.ResourceBundleMessageSource;
+
+import java.util.Locale;
+import java.util.ResourceBundle;
 
 /**
  * 获取i18n资源文件
@@ -23,4 +27,5 @@ public class MessageUtils
         MessageSource messageSource = SpringUtils.getBean(MessageSource.class);
         return messageSource.getMessage(code, args, LocaleContextHolder.getLocale());
     }
+
 }