ソースを参照

投注佣金记录

kk 3 ヶ月 前
コミット
b4fffb89cb

+ 59 - 0
game-business/src/main/java/com/game/business/domain/AppUserGameRecordCount.java

@@ -0,0 +1,59 @@
+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 com.game.common.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@TableName(value= "app_user_game_record_count")
+@ApiModel(value = "app_user_game_record_count", description = "app用户游戏佣金统计")
+public class AppUserGameRecordCount {
+
+    /** $column.columnComment */
+    @ApiModelProperty(value = "主键ID")
+    @TableId(value = "id" , type = IdType.AUTO)
+    private Long id;
+
+    @Excel(name = "游戏ID")
+    @TableField(value = "game_id")
+    @ApiModelProperty(value = "游戏ID")
+    private Long gameId;
+
+    @Excel(name = "用户ID")
+    @TableField(value = "user_id")
+    @ApiModelProperty(value = "用户ID")
+    private Long userId;
+
+    @Excel(name = "上级")
+    @TableField(value = "pid")
+    @ApiModelProperty(value = "上级")
+    private Long pid;
+
+    @Excel(name = "分类:0 游戏 1 直播")
+    @TableField(value = "pid")
+    @ApiModelProperty(value = "分类:0 游戏 1 直播")
+    private Integer type;
+
+    @Excel(name = "佣金")
+    @TableField(value = "commission")
+    @ApiModelProperty(value = "佣金")
+    private double commission;
+
+    @Excel(name = "游戏分佣费率")
+    @TableField(value = "game_rate")
+    @ApiModelProperty(value = "游戏分佣费率")
+    private double gameRate;
+
+    @Excel(name = "游戏分佣费率")
+    @TableField(value = "create_time")
+    @ApiModelProperty(value = "游戏分佣费率")
+    private Date createTime;
+
+}

+ 7 - 0
game-business/src/main/java/com/game/business/mapper/AppUserGameRecordCountMapper.java

@@ -0,0 +1,7 @@
+package com.game.business.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.game.business.domain.AppUserGameRecordCount;
+
+public interface AppUserGameRecordCountMapper extends BaseMapper<AppUserGameRecordCount> {
+}

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

@@ -0,0 +1,7 @@
+package com.game.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.game.business.domain.AppUserGameRecordCount;
+
+public interface IAppUserGameRecordCountService extends IService<AppUserGameRecordCount> {
+}

+ 11 - 0
game-business/src/main/java/com/game/business/service/impl/AppUserGameRecordCountServiceImpl.java

@@ -0,0 +1,11 @@
+package com.game.business.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.game.business.domain.AppUserGameRecordCount;
+import com.game.business.mapper.AppUserGameRecordCountMapper;
+import com.game.business.service.IAppUserGameRecordCountService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class AppUserGameRecordCountServiceImpl extends ServiceImpl<AppUserGameRecordCountMapper, AppUserGameRecordCount> implements IAppUserGameRecordCountService {
+}

+ 25 - 0
game-business/src/main/java/com/game/business/task/AppAgentGameBettingTask.java

@@ -26,6 +26,9 @@ public class AppAgentGameBettingTask {
     @Autowired
     private IAppGameCommissionService appGameCommissionService;
 
+    @Autowired
+    private IAppUserGameRecordCountService appUserGameRecordCountService;
+
     @Autowired
     private IAppGameBettingService appGameBettingService;
 
@@ -152,6 +155,17 @@ public class AppAgentGameBettingTask {
 
             redisCache.deleteObject("U:UserInfo:" + appUser.getUserid());
 
+            AppUserGameRecordCount appUserGameRecordCount = new AppUserGameRecordCount();
+            appUserGameRecordCount.setGameId(appGameBetting.getGameId());
+            appUserGameRecordCount.setUserId(appUser.getUserid());
+            appUserGameRecordCount.setPid(appUser.getPid());
+            appUserGameRecordCount.setCreateTime(new Date());
+            appUserGameRecordCount.setType(0);
+            appUserGameRecordCount.setGameRate(pidGameRate.doubleValue());
+            appUserGameRecordCount.setCommission(userCommission.doubleValue());
+
+            appUserGameRecordCountService.save(appUserGameRecordCount);
+
             FinTranRecord finTranRecord = new FinTranRecord();
 
             if(appGameBetting.getBettingType() == 0){
@@ -245,6 +259,17 @@ public class AppAgentGameBettingTask {
 
         redisCache.deleteObject("U:UserInfo:" + appUser.getUserid());
 
+        AppUserGameRecordCount appUserGameRecordCount = new AppUserGameRecordCount();
+        appUserGameRecordCount.setGameId(appGameBetting.getGameId());
+        appUserGameRecordCount.setUserId(appUser.getUserid());
+        appUserGameRecordCount.setPid(appUser.getPid());
+        appUserGameRecordCount.setCreateTime(new Date());
+        appUserGameRecordCount.setType(1);
+        appUserGameRecordCount.setGameRate(0.003);
+        appUserGameRecordCount.setCommission(gameRateAmount);
+
+        appUserGameRecordCountService.save(appUserGameRecordCount);
+
         FinTranRecord finTranRecord = new FinTranRecord();
 
         if(appGameBetting.getBettingType() == 0){