From 96a6e0d312a35f4e9fc16d0c6c757768b9bfeb6e Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Mon, 24 Jun 2024 11:18:09 +0800
Subject: [PATCH] websocket推送消息
---
src/main/java/cc/mrbird/febs/mall/vo/ApiGamePlayerVo.java | 48
src/main/java/cc/mrbird/febs/mall/service/impl/GameServiceImpl.java | 795 +++++++++++++
src/main/java/cc/mrbird/febs/mall/vo/MyTeamVo.java | 9
src/main/java/cc/mrbird/febs/mall/vo/ApiEndGameVo.java | 14
src/main/java/cc/mrbird/febs/mall/mapper/GameRoomChildMapper.java | 7
src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java | 4
src/main/java/cc/mrbird/febs/mall/controller/ApiGameController.java | 58 +
src/main/java/cc/mrbird/febs/mall/vo/ApiRegisterVo.java | 2
src/main/java/cc/mrbird/febs/mall/vo/ApiStartGameVo.java | 29
src/main/java/cc/mrbird/febs/mall/dto/ApiFlashGameDto.java | 16
src/main/java/cc/mrbird/febs/mall/vo/MyFcmTeamVo.java | 33
src/main/resources/mapper/modules/MallMoneyFlowMapper.xml | 36
src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java | 4
src/main/java/cc/mrbird/febs/mall/entity/GameGame.java | 34
src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java | 2
src/main/resources/mapper/modules/MallMemberMapper.xml | 13
src/main/java/cc/mrbird/febs/mall/dto/ApiCreateRoomDto.java | 22
src/main/java/cc/mrbird/febs/mall/mapper/GameGameChildMapper.java | 7
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 269 +---
src/main/java/cc/mrbird/febs/mall/vo/ApiNextGameVo.java | 47
src/main/java/cc/mrbird/febs/mall/vo/ApiCreateRoomVo.java | 23
src/main/java/cc/mrbird/febs/mall/dto/ApiGameDto.java | 17
src/main/java/cc/mrbird/febs/mall/dto/ApiNextGameDto.java | 16
src/main/java/cc/mrbird/febs/mall/dto/ApiChooseNumDto.java | 32
src/main/java/cc/mrbird/febs/mall/vo/RoomTypeVo.java | 24
src/main/java/cc/mrbird/febs/mall/entity/GameRoomChild.java | 18
src/main/java/cc/mrbird/febs/mall/vo/ApiFlashGameVo.java | 45
src/main/java/cc/mrbird/febs/mall/vo/MoneyFlowVo.java | 3
src/main/java/cc/mrbird/febs/mall/mapper/GameGameMapper.java | 7
src/main/java/cc/mrbird/febs/mall/dto/ApiEndGameDto.java | 21
src/main/java/cc/mrbird/febs/mall/dto/RegisterDto.java | 8
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 7
src/main/java/cc/mrbird/febs/mall/vo/ApiGameGameVo.java | 27
src/main/java/cc/mrbird/febs/common/enumerates/GameRoomTypeEnum.java | 69 +
src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java | 215 ---
src/main/java/cc/mrbird/febs/common/enumerates/GameFlowTypeEnum.java | 24
src/main/java/cc/mrbird/febs/mall/dto/ApiExistGameDto.java | 17
src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java | 7
src/main/java/cc/mrbird/febs/mall/controller/ApiGamePlayerController.java | 73 +
src/main/resources/templates/febs/views/modules/mallMember/mallSystemPay.html | 10
src/main/java/cc/mrbird/febs/mall/service/GameService.java | 48
src/test/java/cc/mrbird/febs/AgentTest.java | 603 ----------
src/main/java/cc/mrbird/febs/mall/controller/ApiLoginController.java | 58
src/main/java/cc/mrbird/febs/mall/mapper/GameRoomMapper.java | 7
src/main/java/cc/mrbird/febs/mall/service/impl/MallMoneyFlowServiceImpl.java | 5
src/main/java/cc/mrbird/febs/mall/dto/MoneyFlowDto.java | 9
src/main/java/cc/mrbird/febs/common/enumerates/GamePNGEnum.java | 57 +
src/main/java/cc/mrbird/febs/mall/entity/GameRoom.java | 23
src/main/java/cc/mrbird/febs/mall/dto/ApiStartGameDto.java | 16
src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html | 304 -----
src/main/java/cc/mrbird/febs/mall/entity/GameGameChild.java | 31
src/main/java/cc/mrbird/febs/mall/vo/AdminMallMemberVo.java | 1
src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java | 96 -
src/main/java/cc/mrbird/febs/mall/entity/MallMember.java | 2
src/main/java/cc/mrbird/febs/common/utils/AppContants.java | 3
src/main/java/cc/mrbird/febs/common/interceptor/LoginInterceptor.java | 2
src/main/java/cc/mrbird/febs/mall/service/IMallMoneyFlowService.java | 2
57 files changed, 1,873 insertions(+), 1,506 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java b/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java
index 290be41..af62871 100644
--- a/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java
+++ b/src/main/java/cc/mrbird/febs/common/configure/WebMvcConfigure.java
@@ -20,8 +20,7 @@
registration.addPathPatterns("/api/**");
registration.excludePathPatterns("/api/login/register");
registration.excludePathPatterns("/api/login/toLogin");
- registration.excludePathPatterns("/api/login/pwdForget");
- registration.excludePathPatterns("/api/login/addRegisterAppeal");
+ registration.excludePathPatterns("/api/login/roomType");
registration.excludePathPatterns("/api/common/**");
registration.excludePathPatterns("/api/category/**");
registration.excludePathPatterns("/api/goods/**");
@@ -32,10 +31,6 @@
registration.excludePathPatterns("/api/unipay/agreeMentPayCallBack");
registration.excludePathPatterns("/api/unipay/singlePayCallBack");
registration.excludePathPatterns("/api/order/myScoreSet");
- registration.excludePathPatterns("/api/login/createAccount");
- registration.excludePathPatterns("/api/login/createKey");
- registration.excludePathPatterns("/api/login/memberSpeak");
-// registration.excludePathPatterns("/api/member/teamFcmList");
}
@Override
diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/GameFlowTypeEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/GameFlowTypeEnum.java
new file mode 100644
index 0000000..683dacd
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/GameFlowTypeEnum.java
@@ -0,0 +1,24 @@
+package cc.mrbird.febs.common.enumerates;
+
+import lombok.Getter;
+
+/**
+ *
+ * @author wzy
+ * @date 2021-09-24
+ **/
+@Getter
+public enum GameFlowTypeEnum {
+ PLAYER_CHARGE(4,"充值"),
+ OWNER_PERK(3,"开奖结果:{},{}"),
+ PLAYER_PERK(2,"开奖结果:{},{},您的选择:{}"),
+ PLAYER_PICK_NUM(1,"房间:{},选择:{}");
+
+ private int value;
+ private String descrition;
+
+ GameFlowTypeEnum(int value, String descrition) {
+ this.value = value;
+ this.descrition = descrition;
+ }
+}
diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/GamePNGEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/GamePNGEnum.java
new file mode 100644
index 0000000..089f2da
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/GamePNGEnum.java
@@ -0,0 +1,57 @@
+package cc.mrbird.febs.common.enumerates;
+
+import lombok.Getter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Getter
+public enum GamePNGEnum {
+
+ HU_LU(6, "葫芦",6),
+ XIA(5, "虾",5),
+ PANG_XIE(4, "螃蟹",4),
+ YU(3, "鱼",3),
+ LAO_HU(2, "老虎",2),
+ SHI_ZI(1, "狮子",1);
+
+ private Integer pngCode;//号码
+ private String pngName;//名称
+ private Integer pngTimes;//倍数
+
+ GamePNGEnum(Integer pngCode,String pngName,Integer pngTimes) {
+ this.pngCode = pngCode;
+ this.pngName = pngName;
+ this.pngTimes = pngTimes;
+ }
+
+ /**
+ * 获取全部列表
+ * @return
+ */
+ public List<GamePNGEnum> getGamePng() {
+ List<GamePNGEnum> objects = new ArrayList<>();
+ for (GamePNGEnum value : GamePNGEnum.values()) {
+ objects.add(value);
+ }
+ return objects;
+ }
+
+ public GamePNGEnum getPng(int pngCode) {
+ for (GamePNGEnum value : GamePNGEnum.values()) {
+ if (value.pngCode == pngCode) {
+ return value;
+ }
+ }
+ return null;
+ }
+
+ public String getPngName(int pngCode) {
+ for (GamePNGEnum value : GamePNGEnum.values()) {
+ if (value.pngCode == pngCode) {
+ return value.pngName;
+ }
+ }
+ return null;
+ }
+}
diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/GameRoomTypeEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/GameRoomTypeEnum.java
new file mode 100644
index 0000000..6e56b68
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/GameRoomTypeEnum.java
@@ -0,0 +1,69 @@
+package cc.mrbird.febs.common.enumerates;
+
+import lombok.Getter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Getter
+public enum GameRoomTypeEnum {
+ /**
+ private String roomName;//名称
+ private Integer roomType;//房间类型 1-初级房2-土豪房3-尊爵房
+ private BigDecimal roomAmount;//进入最小金额
+ private BigDecimal minAmount;//投注最小金额
+ private BigDecimal maxAmount;//投注最大金额
+
+ private List<BigDecimal> amounts;//投注金额
+ */
+
+ ROOM_THREE("ROOM_THREE", "尊爵房",3,20000,1000,5000,"1000,2000,3000,4000,5000"),
+ ROOM_TWO("ROOM_TWO", "土豪房",2,5000,100,500,"100,200,300,400,500"),
+ ROOM_ONE("ROOM_ONE", "初级房",1,1000,10,50,"10,20,30,40,50");
+
+ private String roomCode;//名称
+ private String roomName;//名称
+ private Integer roomType;//房间类型 1-初级房2-土豪房3-尊爵房
+ private Integer roomAmount;//进入最小金额
+ private Integer minAmount;//投注最小金额
+ private Integer maxAmount;//投注最大金额
+
+ private String amounts;//投注金额
+
+ GameRoomTypeEnum(String roomCode,
+ String roomName,
+ Integer roomType,
+ Integer roomAmount,
+ Integer minAmount,
+ Integer maxAmount,
+ String amounts) {
+ this.roomCode = roomCode;
+ this.roomName = roomName;
+ this.roomType = roomType;
+ this.roomAmount = roomAmount;
+ this.minAmount = minAmount;
+ this.maxAmount = maxAmount;
+ this.amounts = amounts;
+ }
+
+ /**
+ * 获取全部列表
+ * @return
+ */
+ public List<GameRoomTypeEnum> getRoomList() {
+ List<GameRoomTypeEnum> objects = new ArrayList<>();
+ for (GameRoomTypeEnum value : GameRoomTypeEnum.values()) {
+ objects.add(value);
+ }
+ return objects;
+ }
+
+ public GameRoomTypeEnum getRoom(int roomType) {
+ for (GameRoomTypeEnum value : GameRoomTypeEnum.values()) {
+ if (value.roomType == roomType) {
+ return value;
+ }
+ }
+ return null;
+ }
+}
diff --git a/src/main/java/cc/mrbird/febs/common/interceptor/LoginInterceptor.java b/src/main/java/cc/mrbird/febs/common/interceptor/LoginInterceptor.java
index f18ea04..5f01f06 100644
--- a/src/main/java/cc/mrbird/febs/common/interceptor/LoginInterceptor.java
+++ b/src/main/java/cc/mrbird/febs/common/interceptor/LoginInterceptor.java
@@ -92,7 +92,7 @@
boolean isDebug = true;
if (!isDebug) {
long currentTime = System.currentTimeMillis();
- return currentTime - time <= 30000;
+ return currentTime - time <= 3600000;
}
return true;
}
diff --git a/src/main/java/cc/mrbird/febs/common/utils/AppContants.java b/src/main/java/cc/mrbird/febs/common/utils/AppContants.java
index 9dfe49a..d833bda 100644
--- a/src/main/java/cc/mrbird/febs/common/utils/AppContants.java
+++ b/src/main/java/cc/mrbird/febs/common/utils/AppContants.java
@@ -85,4 +85,7 @@
public static final int MEMBER_FLOW_DONE = 2;
+ public static final int MEMBER_PARTNER_YES = 1;
+ public static final int MEMBER_PARTNER_NO = 2;
+
}
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
index 84d5b96..7b8609b 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
@@ -646,9 +646,7 @@
String account = new StringBuilder().append("bbsz").append(ShareCodeUtil.toSerialNumberCode(selectCount)).toString();
String key = ShareCodeUtil.toSerialNumberCode(selectCount);
registerDto.setAccountLogin(account);
- registerDto.setUserKey(key);
registerDto.setPassword("a123456");
- registerDto.setTradePassword("123456");
registerDto.setInviteId(member.getInviteId());
apiMallMemberService.register(registerDto);
return new FebsResponse().success();
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiGameController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiGameController.java
new file mode 100644
index 0000000..e9d0a85
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiGameController.java
@@ -0,0 +1,58 @@
+package cc.mrbird.febs.mall.controller;
+
+import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.mall.dto.*;
+import cc.mrbird.febs.mall.service.GameService;
+import cc.mrbird.febs.mall.vo.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+
+/**
+ * @author wzy
+ * @date 2021-09-16
+ **/
+@Slf4j
+@RestController
+@CrossOrigin("*")
+@RequestMapping(value = "/api/gameOwner")
+@RequiredArgsConstructor
+@Api(value = "ApiGameController", tags = "GUESS游戏房主接口类")
+public class ApiGameController {
+
+ private final GameService gameService;
+
+ @ApiOperation(value = "GUESS创建房间", notes = "GUESS创建房间")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "success", response = ApiCreateRoomVo.class)
+ })
+ @PostMapping(value = "/createRoom")
+ public FebsResponse createRoom(@RequestBody @Valid ApiCreateRoomDto apiCreateRoomDto) {
+ return gameService.createRoom(apiCreateRoomDto);
+ }
+
+ @ApiOperation(value = "GUESS点击开始", notes = "GUESS点击开始")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "success", response = ApiStartGameVo.class)
+ })
+ @PostMapping(value = "/startGame")
+ public FebsResponse startGame(@RequestBody @Valid ApiStartGameDto startGameDto) {
+ return gameService.startGame(startGameDto);
+ }
+
+ @ApiOperation(value = "GUESS点击结束", notes = "GUESS点击结束")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "success", response = ApiEndGameVo.class)
+ })
+ @PostMapping(value = "/endGame")
+ public FebsResponse endGame(@RequestBody @Valid ApiEndGameDto endGameDto) {
+ return gameService.endGame(endGameDto);
+ }
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiGamePlayerController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiGamePlayerController.java
new file mode 100644
index 0000000..cadbef9
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiGamePlayerController.java
@@ -0,0 +1,73 @@
+package cc.mrbird.febs.mall.controller;
+
+import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.mall.dto.*;
+import cc.mrbird.febs.mall.service.GameService;
+import cc.mrbird.febs.mall.vo.ApiCreateRoomVo;
+import cc.mrbird.febs.mall.vo.ApiFlashGameVo;
+import cc.mrbird.febs.mall.vo.ApiGamePlayerVo;
+import cc.mrbird.febs.mall.vo.ApiNextGameVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+
+/**
+ * @author wzy
+ * @date 2021-09-16
+ **/
+@Slf4j
+@RestController
+@CrossOrigin("*")
+@RequestMapping(value = "/api/gamePlayer")
+@RequiredArgsConstructor
+@Api(value = "ApiGamePlayerController", tags = "GUESS游戏玩家接口类")
+public class ApiGamePlayerController {
+
+ private final GameService gameService;
+
+ @ApiOperation(value = "GUESS进入游戏", notes = "GUESS进入游戏")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "success", response = ApiGamePlayerVo.class)
+ })
+ @PostMapping(value = "/gameIn")
+ public FebsResponse gameIn(@RequestBody @Valid ApiGameDto apiGameDto) {
+ return gameService.gameIn(apiGameDto);
+ }
+
+ @ApiOperation(value = "GUESS投注", notes = "GUESS投注")
+ @PostMapping(value = "/chooseNum")
+ public FebsResponse chooseNum(@RequestBody @Valid ApiChooseNumDto apiChooseNumDto) {
+ return gameService.chooseNum(apiChooseNumDto);
+ }
+
+ @ApiOperation(value = "GUESS刷新当前一局", notes = "GUESS刷新当前一局")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "success", response = ApiNextGameVo.class)
+ })
+ @PostMapping(value = "/nextGame")
+ public FebsResponse nextGame(@RequestBody @Valid ApiNextGameDto apiNextGameDto) {
+ return gameService.nextGame(apiNextGameDto);
+ }
+
+ @ApiOperation(value = "GUESS刷新当前投注信息", notes = "GUESS刷新当前投注信息")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "success", response = ApiFlashGameVo.class)
+ })
+ @PostMapping(value = "/flashGame")
+ public FebsResponse flashGame(@RequestBody @Valid ApiFlashGameDto apiFlashGameDto) {
+ return gameService.flashGame(apiFlashGameDto);
+ }
+
+ @ApiOperation(value = "GUESS退出", notes = "GUESS退出")
+ @PostMapping(value = "/existGame")
+ public FebsResponse existGame(@RequestBody @Valid ApiExistGameDto apiExistGameDto) {
+ return gameService.existGame(apiExistGameDto);
+ }
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiLoginController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiLoginController.java
index b01e47e..40fe4a9 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiLoginController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiLoginController.java
@@ -3,9 +3,12 @@
import cc.mrbird.febs.common.annotation.Limit;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.mall.dto.*;
+import cc.mrbird.febs.mall.service.GameService;
import cc.mrbird.febs.mall.service.IApiMallMemberService;
import cc.mrbird.febs.mall.vo.ApiRegisterVo;
import cc.mrbird.febs.mall.vo.MallMemberPaymentVo;
+import cc.mrbird.febs.mall.vo.MallMemberVo;
+import cc.mrbird.febs.mall.vo.RoomTypeVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
@@ -26,26 +29,13 @@
@RequiredArgsConstructor
@RestController
@RequestMapping(value = "/api/login")
-@Api(value = "ApiLoginController", tags = "登录注册类")
+@Api(value = "ApiLoginController", tags = "GUESS登录注册类")
public class ApiLoginController {
private final IApiMallMemberService memberService;
+ private final GameService gameService;
- @ApiOperation(value = "FCM-点击生成账号", notes = "FCM-点击生成账号")
- @GetMapping(value = "/createAccount")
- @Limit(key = "createAccount", period = 60, count = 5, name = "点击生成账号", prefix = "limit")
- public FebsResponse createAccount() {
- return memberService.createAccount();
- }
-
- @ApiOperation(value = "FCM-点击生成密钥", notes = "FCM-点击生成密钥")
- @GetMapping(value = "/createKey")
- @Limit(key = "createKey", period = 60, count = 5, name = "点击生成密钥", prefix = "limit")
- public FebsResponse createKey() {
- return memberService.createKey();
- }
-
- @ApiOperation(value = "FCM-app注册接口", notes = "FCM-app注册接口")
+ @ApiOperation(value = "GUESS注册接口", notes = "GUESS注册接口")
@ApiResponses({
@ApiResponse(code = 200, message = "success", response = ApiRegisterVo.class)
})
@@ -54,39 +44,19 @@
return memberService.register(registerDto);
}
-
- @ApiOperation(value = "FCM-账号密码登录接口", notes = "FCM-账号密码登录接口")
+ @ApiOperation(value = "GUESS账号密码登录接口", notes = "GUESS账号密码登录接口")
@PostMapping(value = "/toLogin")
public FebsResponse login(@RequestBody @Valid LoginDto loginDto) {
return memberService.toLogin(loginDto);
}
- @ApiOperation(value = "FCM-忘记/修改密码", notes = "FCM-忘记/修改密码")
- @PostMapping(value = "/forgetPwd")
- public FebsResponse forgetPwd(@RequestBody @Valid ForgetPwdDto forgetPwdDto) {
- return memberService.forgetPwd(forgetPwdDto);
+ @ApiOperation(value = "GUES获取大厅信息", notes = "GUES获取大厅信息")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "success", response = RoomTypeVo.class)
+ })
+ @PostMapping(value = "/roomType")
+ public FebsResponse roomType() {
+ return gameService.roomType();
}
-
- @ApiOperation(value = "FCM-忘记密码", notes = "FCM-忘记/修改密码")
- @PostMapping(value = "/pwdForget")
- public FebsResponse pwdForget(@RequestBody @Valid ForgetPwdDto forgetPwdDto) {
- return memberService.pwdForget(forgetPwdDto);
- }
-
- @ApiOperation(value = "提交注册申诉", notes = "提交注册申诉")
- @PostMapping(value = "addRegisterAppeal")
- public FebsResponse addRegisterAppeal(@RequestBody @Valid RegisterAppealDto registerAppeal) {
- memberService.addRegisterAppeal(registerAppeal);
- return new FebsResponse().success().message("申请成功");
- }
-
- @ApiOperation(value = "客户留言", notes = "客户留言")
- @PostMapping(value = "memberSpeak")
- @Limit(key = "memberSpeak", period = 60, count = 2, name = "客户留言", prefix = "limit")
- public FebsResponse memberSpeak(@RequestBody @Valid ApiMemberSpeakDto memberSpeakDto) {
- return memberService.memberSpeak(memberSpeakDto);
- }
-
-
}
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
index d24aea4..1a6c9f6 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
@@ -29,14 +29,14 @@
@CrossOrigin("*")
@RequestMapping(value = "/api/member")
@RequiredArgsConstructor
-@Api(value = "ApiMallMemberController", tags = "商城用户接口类")
+@Api(value = "ApiMallMemberController", tags = "GUESS用户接口类")
public class ApiMallMemberController {
private final IApiMallMemberService memberService;
private final IMallMemberWithdrawService mallMemberWithdrawService;
private final IApiMallMemberWalletService walletService;
- @ApiOperation(value = "FCM-获取商城用户信息", notes = "FCM-获取商城用户信息")
+ @ApiOperation(value = "GUESS用户信息", notes = "GUESS用户信息")
@ApiResponses({
@ApiResponse(code = 200, message = "success", response = MallMemberVo.class)
})
@@ -45,47 +45,13 @@
return memberService.findMemberInfo();
}
- @ApiOperation(value = "FCM-修改用户信息")
- @PostMapping(value = "/modifyInfo")
- public FebsResponse modifyInfo(@RequestBody @Valid ModifyMemberInfoDto modifyMemberInfoDto) {
- return memberService.modifyMemberInfo(modifyMemberInfoDto);
- }
-
- @ApiOperation(value = "FCM-解除冻结")
- @PostMapping(value = "/unfreeze")
- public FebsResponse unfreeze(@RequestBody @Valid UnfreezeDto unfreezeDto) {
- return memberService.unfreeze(unfreezeDto);
- }
-
- @ApiOperation(value = "FCM-找回密钥")
- @PostMapping(value = "/getKey")
- public FebsResponse getKey(@RequestBody @Valid GetKeyDto getKeyDto) {
- return memberService.getKey(getKeyDto);
- }
-
- @ApiOperation(value = "FCM-获取收款信息", notes = "FCM-获取收款信息")
- @ApiResponses({
- @ApiResponse(code = 200, message = "success", response = MallMemberPaymentVo.class)
- })
- @GetMapping(value = "/getPayment")
- public FebsResponse getPayment() {
- return memberService.getPayment();
- }
-
- @ApiOperation(value = "FCM-修改收款信息", notes = "FCM-修改收款信息")
- @PostMapping(value = "/updatePayment")
- public FebsResponse updatePayment(@RequestBody @Valid UpdatePaymentDto updatePaymentDto) {
- return memberService.updatePayment(updatePaymentDto);
- }
-
-
- @ApiOperation(value = "FCM-充值", notes = "FCM-充值")
+ @ApiOperation(value = "GUESS充值", notes = "GUESS充值")
@PostMapping(value = "/chargeBalance")
public FebsResponse chargeBalance(@RequestBody @Valid ApiChargeBalanceDto apiChargeBalanceDto) {
return memberService.chargeBalance(apiChargeBalanceDto);
}
- @ApiOperation(value = "FCM-提现")
+ @ApiOperation(value = "GUESS提现")
@PostMapping(value = "/withdrawalBalance")
public FebsResponse withdrawalBalance(@RequestBody @Validated WithdrawalBalanceDto withdrawalBalanceDto) {
mallMemberWithdrawService.withdrawalBalance(withdrawalBalanceDto);
@@ -93,193 +59,40 @@
}
- @ApiOperation(value = "FCM-推出登录", notes = "FCM-推出登录")
+ @ApiOperation(value = "GUESS推出登录", notes = "GUESS推出登录")
@PostMapping(value = "/logout")
public FebsResponse logout() {
return memberService.logout();
}
- @ApiOperation(value = "获取购物车、订单等角标数量")
- @GetMapping(value = "/findMarkCnt")
- public FebsResponse findMarkCnt() {
- return memberService.findMemberMarkCnt();
- }
- @ApiOperation(value = "FCM-设置支付密码")
- @PostMapping(value = "/setTradePwd")
- public FebsResponse setTradePwd(@RequestBody ForgetPwdDto forgetPwdDto) {
- return memberService.setTradePwd(forgetPwdDto);
- }
-
- @ApiOperation(value = "我的团队列表")
+ @ApiOperation(value = "GUESS我的团队规模")
@ApiResponses({
@ApiResponse(code = 200, message = "success", response = MyTeamVo.class)
})
@PostMapping(value = "/teamList")
- public FebsResponse teamList(@RequestBody TeamListDto teamListDto) {
- return memberService.teamList(teamListDto);
+ public FebsResponse teamList() {
+ return memberService.teamList();
}
- @ApiOperation(value = "FCM-我的团队列表")
+
+ @ApiOperation(value = "GUESS我的团队详情")
@ApiResponses({
@ApiResponse(code = 200, message = "success", response = MyFcmTeamVo.class)
})
- @PostMapping(value = "/teamFcmList")
- public FebsResponse teamFcmList(@RequestBody TeamListDto teamListDto) {
- return memberService.teamFcmList(teamListDto);
+ @PostMapping(value = "/teamInfo")
+ public FebsResponse teamInfo() {
+ return memberService.teamFcmList();
}
- @ApiOperation(value = "FCM-资金流水列表")
+ @ApiOperation(value = "GUESS资金流水列表")
@ApiResponses({
@ApiResponse(code = 200, message = "success", response = MoneyFlowVo.class)
})
@PostMapping(value = "/moneyFlow")
public FebsResponse moneyFlow(@RequestBody MoneyFlowDto moneyFlowDto) {
return memberService.moneyFlows(moneyFlowDto);
- }
-
-
- @ApiOperation(value = "FCM-资金流水列表-互转记录")
- @ApiResponses({
- @ApiResponse(code = 200, message = "success", response = MoneyFlowVo.class)
- })
- @PostMapping(value = "/moneyFlowInside")
- public FebsResponse moneyFlowInside(@RequestBody MoneyFlowDto moneyFlowDto) {
- return memberService.moneyFlowInside(moneyFlowDto);
- }
-
- @ApiOperation(value = "FCM-转账")
- @PostMapping(value = "/transfer")
- public FebsResponse transfer(@RequestBody @Validated TransferDto transferDto) {
- memberService.transfer(transferDto);
- return new FebsResponse().success().message("操作成功");
- }
-
- @ApiOperation(value = "提现规则", notes = "提现规则")
- @ApiResponses({
- @ApiResponse(code = 200, message = "success", response = CashOutSettingVo.class)
- })
- @GetMapping(value = "/cashOutSetting")
- public FebsResponse cashOutSetting() {
- return new FebsResponse().success().data(memberService.cashOutSetting());
- }
-
- @ApiOperation(value = "提现")
- @PostMapping(value = "/withdrawal")
- public FebsResponse withdrawal(@RequestBody @Validated WithdrawalDto withdrawalDto) {
- mallMemberWithdrawService.withdrawal(withdrawalDto);
- return new FebsResponse().success().message("提交成功");
- }
-
- @ApiOperation(value = "设置收款方式")
- @PostMapping(value = "/setPayment")
- public FebsResponse setPayment(@RequestBody MallMemberPayment mallMemberPayment) {
- memberService.setPayment(mallMemberPayment);
- return new FebsResponse().success().message("设置成功");
- }
-
- @ApiOperation(value = "获取收款方式")
- @GetMapping(value = "/findPayment")
- public FebsResponse findPayment() {
- return new FebsResponse().success().data(memberService.findMemberPayment());
- }
-
- @ApiOperation(value = "绑定手机号")
- @PostMapping(value = "/bindPhone")
- public FebsResponse bindPhone(@RequestBody AccountAndCodeDto accountAndCodeDto) {
- memberService.bindPhone(accountAndCodeDto);
- return new FebsResponse().success().message("绑定成功");
- }
-
- @ApiOperation(value = "可提现金额")
- @GetMapping(value = "/canWithdrawal")
- public FebsResponse canWithdrawal() {
- return new FebsResponse().success().data(memberService.canMoney());
- }
-
- @ApiOperation(value = "用户消费排名")
- @PostMapping(value = "/findRankList")
- public FebsResponse findRankList(@RequestBody RankListDto rankListDto) {
-// return new FebsResponse().success().data(memberService.findRankList(rankListDto));
- return new FebsResponse().success();
- }
-
- @ApiOperation(value = "根据邀请码或者手机号获取昵称")
- @PostMapping(value = "/findMemberInfoByAccount/{phone}")
- public FebsResponse findMemberInfoByAccount(@PathVariable("phone") String phone) {
- MallMember account = memberService.findMemberInfoByAccount(phone);
- if (account == null) {
- return new FebsResponse().fail().message("用户不存在");
- }
-
- MallMemberVo member = new MallMemberVo();
- member.setName(account.getName());
- return new FebsResponse().success().data(member);
- }
-
- @ApiOperation(value = "佣金划转")
- @PostMapping(value = "/commissionChange")
- public FebsResponse commissionChange(@RequestBody @Validated CommissionChangeDto commissionChange) {
- walletService.commissionChange(commissionChange);
- return new FebsResponse().success();
- }
-
- @ApiOperation(value = "我的权益")
- @ApiResponses(
- @ApiResponse(code = 200, message = "success", response = MyCommissionVo.class)
- )
- @PostMapping(value = "/myCommission")
- public FebsResponse myCommission() {
- return new FebsResponse().success().data(memberService.myCommission());
- }
-
- @ApiOperation(value = "商铺申请是否存在")
- @PostMapping(value = "/shopApplyIsExist")
- public FebsResponse shopApplyIsExist() {
- return null;
- }
-
- @ApiOperation(value = "新增银行卡")
- @PostMapping(value = "/addMemberBank")
- public FebsResponse addMemberBank(@RequestBody AddMemberBankDto addMemberBankDto) {
- return memberService.addMemberBank(addMemberBankDto);
- }
-
- @ApiOperation(value = "银行卡列表", notes = "银行卡列表")
- @ApiResponses({
- @ApiResponse(code = 200, message = "success", response = MemberBankListVo.class)
- })
- @PostMapping(value = "/memberBankList")
- public FebsResponse memberBankList(@RequestBody MemberBankListDto memberBankListDto) {
- return memberService.findMemberBankList(memberBankListDto);
- }
-
- @ApiOperation(value = "银行卡详情", notes = "银行卡详情")
- @ApiResponses({
- @ApiResponse(code = 200, message = "success", response = MemberBankListVo.class)
- })
- @GetMapping(value = "/memberBankDetails/{id}")
- public FebsResponse memberBankDetails(@PathVariable("id") Long id) {
- return memberService.findBankDetailsById(id);
- }
-
- @ApiOperation(value = "更新银行卡")
- @PostMapping(value = "/updateMemberBank")
- public FebsResponse updateMemberBank(@RequestBody UpdateMemberBankDto updateMemberBankDto) {
- return memberService.updateMemberBank(updateMemberBankDto);
- }
-
- @ApiOperation(value = "删除银行卡", notes = "删除银行卡")
- @PostMapping(value = "/delMemberBank/{id}")
- public FebsResponse delMemberBank(@PathVariable("id") Long id) {
- return memberService.delMemberBank(id);
- }
-
- @ApiOperation(value = "银行名称列表", notes = "银行名称列表")
- @GetMapping(value = "/memberBankName")
- public FebsResponse memberBankDetails() {
- return memberService.findBankName();
}
}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ApiChooseNumDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ApiChooseNumDto.java
new file mode 100644
index 0000000..928d57a
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/ApiChooseNumDto.java
@@ -0,0 +1,32 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+
+@Data
+@ApiModel(value = "ApiChooseNumDto", description = "参数接收类")
+public class ApiChooseNumDto {
+
+ @NotNull(message = "参数不能为空")
+ @ApiModelProperty(value = "房间ID")
+ private Long roomId;
+
+ @NotNull(message = "参数不能为空")
+ @ApiModelProperty(value = "游戏ID")
+ private Long gameId;
+
+ @NotNull(message = "参数不能为空")
+ @ApiModelProperty(value = "投注数字")
+ private Integer chooseNum;
+
+ @Min(10)
+ @NotNull(message = "参数不能为空")
+ @ApiModelProperty(value = "投注金额")
+ private BigDecimal amount;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ApiCreateRoomDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ApiCreateRoomDto.java
new file mode 100644
index 0000000..44a23a8
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/ApiCreateRoomDto.java
@@ -0,0 +1,22 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+
+@Data
+@ApiModel(value = "ApiCreateRoomDto", description = "参数接收类")
+public class ApiCreateRoomDto {
+
+ @NotNull(message = "参数不能为空")
+ @ApiModelProperty(value = "房间类型 1-初级房2-土豪房3-尊爵房", example = "1")
+ private Integer roomType;
+
+ @NotNull(message = "参数不能为空")
+ @ApiModelProperty(value = "一局游戏时长", example = "1")
+ private Integer gameTime;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ApiEndGameDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ApiEndGameDto.java
new file mode 100644
index 0000000..1c08c3f
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/ApiEndGameDto.java
@@ -0,0 +1,21 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+@ApiModel(value = "ApiEndGameDto", description = "参数接收类")
+public class ApiEndGameDto {
+
+ @NotNull(message = "参数不能为空")
+ @ApiModelProperty(value = "房间ID")
+ private Long roomId;
+
+ @NotNull(message = "参数不能为空")
+ @ApiModelProperty(value = "游戏ID")
+ private Long gameId;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ApiExistGameDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ApiExistGameDto.java
new file mode 100644
index 0000000..b16fb98
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/ApiExistGameDto.java
@@ -0,0 +1,17 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+@ApiModel(value = "ApiExistGameDto", description = "参数接收类")
+public class ApiExistGameDto {
+
+ @NotNull(message = "参数不能为空")
+ @ApiModelProperty(value = "房间ID")
+ private Long roomId;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ApiFlashGameDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ApiFlashGameDto.java
new file mode 100644
index 0000000..cdb1d6c
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/ApiFlashGameDto.java
@@ -0,0 +1,16 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+@ApiModel(value = "ApiFlashGameDto", description = "参数接收类")
+public class ApiFlashGameDto {
+
+ @NotNull(message = "参数不能为空")
+ @ApiModelProperty(value = "游戏ID")
+ private Long gameId;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ApiGameDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ApiGameDto.java
new file mode 100644
index 0000000..1d24fe2
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/ApiGameDto.java
@@ -0,0 +1,17 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+@ApiModel(value = "ApiGameDto", description = "参数接收类")
+public class ApiGameDto {
+
+ @NotNull(message = "参数不能为空")
+ @ApiModelProperty(value = "房间唯一编码,自动生成", example = "1")
+ private String password;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ApiNextGameDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ApiNextGameDto.java
new file mode 100644
index 0000000..8b91c8e
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/ApiNextGameDto.java
@@ -0,0 +1,16 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+@ApiModel(value = "ApiNextGameDto", description = "参数接收类")
+public class ApiNextGameDto {
+
+ @NotNull(message = "参数不能为空")
+ @ApiModelProperty(value = "游戏ID")
+ private Long gameId;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ApiStartGameDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ApiStartGameDto.java
new file mode 100644
index 0000000..019d290
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/ApiStartGameDto.java
@@ -0,0 +1,16 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+@ApiModel(value = "ApiStartGameDto", description = "请求类")
+public class ApiStartGameDto {
+
+ @NotNull(message = "参数不能为空")
+ @ApiModelProperty(value = "房间ID")
+ private Long roomId;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/MoneyFlowDto.java b/src/main/java/cc/mrbird/febs/mall/dto/MoneyFlowDto.java
index 3772d65..326eaa8 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/MoneyFlowDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/MoneyFlowDto.java
@@ -19,15 +19,6 @@
@ApiModelProperty(value = "页码", example = "1")
private Integer pageNum;
- @ApiModelProperty(value = "类型 ")
- private Integer type;
-
- @ApiModelProperty(value = "类型 1-全部 2-支出 3-收入")
- private Integer inOrOut;
-
- @ApiModelProperty(value = "流水类型 1-FCM代币 2-令牌 3-NFT")
- private Integer flowType;
-
@ApiModelProperty(hidden = true)
private Long memberId;
}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/RegisterDto.java b/src/main/java/cc/mrbird/febs/mall/dto/RegisterDto.java
index e931466..af9bd2f 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/RegisterDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/RegisterDto.java
@@ -18,17 +18,9 @@
@ApiModelProperty(value = "账号", example = "hjsj")
private String accountLogin;
-// @NotBlank(message = "密钥不能为空")
- @ApiModelProperty(value = "密钥", example = "15773001234")
- private String userKey;
-
@NotBlank(message = "登录密码不能为空")
@ApiModelProperty(value = "登录密码", example = "123456")
private String password;
-
- @NotBlank(message = "交易密码不能为空")
- @ApiModelProperty(value = "交易密码", example = "123456")
- private String tradePassword;
@NotBlank(message = "邀请码不能为空")
@ApiModelProperty(value = "邀请码")
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/GameGame.java b/src/main/java/cc/mrbird/febs/mall/entity/GameGame.java
new file mode 100644
index 0000000..8ff5096
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/entity/GameGame.java
@@ -0,0 +1,34 @@
+package cc.mrbird.febs.mall.entity;
+
+import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@TableName("game_game")
+public class GameGame extends BaseEntity {
+
+
+ private Long roomId;//
+ private Long memberId;//房主用户表ID
+ private Integer firstNum;//第一个数
+ private Integer secondNum;//第二个数
+
+ private Integer state;//1-等待投注中 2-结束投注(10秒倒计时,结束投注) 3-结算中 4-已结算
+ public static final Integer STATE_READY = 1;
+ public static final Integer STATE_DONE = 2;
+ public static final Integer STATE_PERK = 3;
+ public static final Integer STATE_OVER = 4;
+
+ private BigDecimal pickOne;//投注1的总金额
+ private BigDecimal pickTwo;
+ private BigDecimal pickThree;
+ private BigDecimal pickFour;
+ private BigDecimal pickFive;
+ private BigDecimal pickSix;
+ private Date perkTime;//开奖时间
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/GameGameChild.java b/src/main/java/cc/mrbird/febs/mall/entity/GameGameChild.java
new file mode 100644
index 0000000..47f3195
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/entity/GameGameChild.java
@@ -0,0 +1,31 @@
+package cc.mrbird.febs.mall.entity;
+
+import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@TableName("game_game_child")
+public class GameGameChild extends BaseEntity {
+
+
+ private Long gameId;//
+ private Long memberId;//用户表ID
+ private BigDecimal amount;//投注金额
+ private Integer pickNum;//投注数字
+
+ private Integer state;//投注状态1-待结算2-已结算
+ public static final Integer STATE_ING = 1;
+ public static final Integer STATE_DONE = 2;
+
+ private Integer perkNumOne;//开出来的号码1
+ private Integer perkNumTwo;//开出来的号码2
+
+ private Integer perkState;//中奖状态 1-中奖 2-未中奖
+ public static final Integer PERK_STATE_YES = 1;
+ public static final Integer PERK_STATE_NO = 2;
+
+ private BigDecimal perkAmount;//中奖金额
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/GameRoom.java b/src/main/java/cc/mrbird/febs/mall/entity/GameRoom.java
new file mode 100644
index 0000000..6355859
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/entity/GameRoom.java
@@ -0,0 +1,23 @@
+package cc.mrbird.febs.mall.entity;
+
+import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("game_room")
+public class GameRoom extends BaseEntity {
+
+ private Integer roomType;//房间类型 1-初级房2-土豪房3-尊爵房
+ private String password;//房间密码(房间唯一编码,自动生成)
+ private Long ownerMemberId;//房主用户表ID
+
+ private Integer state;//房间状态0-未开始1-正常2-结束
+ public static final Integer STATE_READY = 0;
+ public static final Integer STATE_ING = 1;
+ public static final Integer STATE_DONE = 2;
+
+ private Integer gameTime;//游戏时长
+
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/GameRoomChild.java b/src/main/java/cc/mrbird/febs/mall/entity/GameRoomChild.java
new file mode 100644
index 0000000..f7b8414
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/entity/GameRoomChild.java
@@ -0,0 +1,18 @@
+package cc.mrbird.febs.mall.entity;
+
+import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("game_room_child")
+public class GameRoomChild extends BaseEntity {
+
+ private Long roomId;//
+ private Long memberId;//用户表ID
+ private Integer ownerState;//1-房主 2-玩家
+ public static final Integer OWNER_TRUE = 1;
+ public static final Integer OWNER_FALSE = 2;
+
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java b/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
index 1db5513..db2107a 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
@@ -148,7 +148,7 @@
private Integer creater;
/**
- * 合伙人 1-是 2-否 节点
+ * 代理 1-是 2-否(初始化)
*/
private Integer partner;
/**
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/GameGameChildMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/GameGameChildMapper.java
new file mode 100644
index 0000000..1a95766
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/GameGameChildMapper.java
@@ -0,0 +1,7 @@
+package cc.mrbird.febs.mall.mapper;
+
+import cc.mrbird.febs.mall.entity.GameGameChild;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface GameGameChildMapper extends BaseMapper<GameGameChild> {
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/GameGameMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/GameGameMapper.java
new file mode 100644
index 0000000..ea1c3ec
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/GameGameMapper.java
@@ -0,0 +1,7 @@
+package cc.mrbird.febs.mall.mapper;
+
+import cc.mrbird.febs.mall.entity.GameGame;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface GameGameMapper extends BaseMapper<GameGame> {
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/GameRoomChildMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/GameRoomChildMapper.java
new file mode 100644
index 0000000..57d3e0d
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/GameRoomChildMapper.java
@@ -0,0 +1,7 @@
+package cc.mrbird.febs.mall.mapper;
+
+import cc.mrbird.febs.mall.entity.GameRoomChild;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface GameRoomChildMapper extends BaseMapper<GameRoomChild> {
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/GameRoomMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/GameRoomMapper.java
new file mode 100644
index 0000000..62059cd
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/GameRoomMapper.java
@@ -0,0 +1,7 @@
+package cc.mrbird.febs.mall.mapper;
+
+import cc.mrbird.febs.mall.entity.GameRoom;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface GameRoomMapper extends BaseMapper<GameRoom> {
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java
index 9c59630..15eb000 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java
@@ -55,4 +55,8 @@
MallMoneyFlow selectByOrderAndType(@Param("orderNo")String orderNo, @Param("type")int type, @Param("flowType")int flowType, @Param("memberId")Long memberId);
IPage<MoneyFlowVo> selectApiFcmMoneyFlowInsideInPage(IPage<MoneyFlowVo> page, @Param("record") MoneyFlowDto moneyFlowDto);
+
+ BigDecimal selectSumAmountByMemberIdAndType(@Param("list")List<Long> memberId, @Param("type")int type);
+
+ BigDecimal selectSumByMemberIdAndType(@Param("memberId")Long memberId, @Param("type")int type);
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/GameService.java b/src/main/java/cc/mrbird/febs/mall/service/GameService.java
new file mode 100644
index 0000000..e873ac6
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/service/GameService.java
@@ -0,0 +1,48 @@
+package cc.mrbird.febs.mall.service;
+
+import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.mall.dto.*;
+import cc.mrbird.febs.mall.entity.GameRoom;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+public interface GameService extends IService<GameRoom> {
+
+ FebsResponse roomType();
+
+ FebsResponse createRoom(ApiCreateRoomDto apiCreateRoomDto);
+
+ FebsResponse startGame(ApiStartGameDto startGameDto);
+
+ /**
+ * 给房间的每一个人发消息
+ * @param roomId
+ * @param msg 消息:房间ID
+ */
+ void sendMsgByRoomId(Long roomId,String msg);
+
+ void sendMsgByMemberIds(List<Long> memberIds,String msg);
+
+ /**
+ * 给每一个人发消息
+ * @param memberId
+ * @param msg 自定义消息
+ */
+ void sendMsgByMemberId(Long memberId,String msg);
+
+ FebsResponse chooseNum(ApiChooseNumDto apiChooseNumDto);
+
+ FebsResponse gameIn(ApiGameDto apiGameDto);
+
+ FebsResponse endGame(ApiEndGameDto endGameDto);
+
+ BigDecimal perkGameGameChild(Long gameId,int firstNum,int secondNum);
+
+ FebsResponse nextGame(ApiNextGameDto apiNextGameDto);
+
+ FebsResponse existGame(ApiExistGameDto apiExistGameDto);
+
+ FebsResponse flashGame(ApiFlashGameDto apiFlashGameDto);
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
index 4a4965d..99c31b3 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
@@ -31,9 +31,9 @@
FebsResponse modifyMemberInfo(ModifyMemberInfoDto modifyMemberInfoDto);
- FebsResponse teamList(TeamListDto teamListDto);
+ FebsResponse teamList();
- FebsResponse teamFcmList(TeamListDto teamListDto);
+ FebsResponse teamFcmList();
MyTeamVo teamListForMine(TeamListDto teamListDto);
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IMallMoneyFlowService.java b/src/main/java/cc/mrbird/febs/mall/service/IMallMoneyFlowService.java
index 9e2e106..3dcac05 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IMallMoneyFlowService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IMallMoneyFlowService.java
@@ -11,6 +11,8 @@
void addMoneyFlow(Long memberId, BigDecimal amount, Integer type, String orderNo, Integer flowType);
+ void addMoneyFlow(Long memberId, BigDecimal amount, Integer type, String orderNo, String description);
+
void addMoneyFlow(Long memberId, BigDecimal amount, Integer type, String orderNo, Integer flowType, Integer isReturn);
void addMoneyFlow(Long memberId, BigDecimal amount, Integer type, String orderNo, Long rtMemberId, Integer flowType);
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
index 58239fc..1f36f41 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -475,7 +475,12 @@
} else {
iApiMallMemberWalletService.add(mallSystemPayDto.getAddBalance(), mallSystemPayDto.getId(), filedType);
}
- mallMoneyFlowService.addMoneyFlow(memberId, bigDecimal, MoneyFlowTypeEnum.SYSTEM.getValue(), null, type);
+ mallMoneyFlowService.addMoneyFlow(
+ memberId,
+ bigDecimal,
+ GameFlowTypeEnum.PLAYER_CHARGE.getValue(),
+ MallUtils.getOrderNum("CZ"),
+ GameFlowTypeEnum.PLAYER_CHARGE.getDescrition());
return new FebsResponse().success();
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index 7e3ce7b..f4abe29 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -114,7 +114,6 @@
mallMember.setAccountLogin(accountLogin);
mallMember.setPassword(SecureUtil.md5(registerDto.getPassword()));
mallMember.setUserKey(userKey);
- mallMember.setTradePassword(SecureUtil.md5(registerDto.getTradePassword()));
Integer count = this.baseMapper.selectCount(null);
if (count != null && count != 0) {
@@ -124,16 +123,11 @@
}
mallMember.setReferrerId(registerDto.getInviteId());
}
-// mallMember.setName(registerDto.getName());
-// mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE);
mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE);
mallMember.setAccountType(MallMember.ACCOUNT_TYPE_NORMAL);
mallMember.setLevel(AgentLevelEnum.ZERO_LEVEL.getCode());
mallMember.setIsFrozen(ProductEnum.MEMBER_UNFROZEN.getValue());
mallMember.setPartner(2);
-// mallMember.setSex("男");
-// mallMember.setBindPhone(registerDto.getAccount());
-
this.baseMapper.insert(mallMember);
String inviteId = ShareCodeUtil.toSerialNumberCodeTwo(mallMember.getId());
@@ -170,17 +164,10 @@
MallMemberWallet wallet = new MallMemberWallet();
wallet.setMemberId(mallMember.getId());
mallMemberWalletMapper.insert(wallet);
- MallMemberAmount mallMemberAmount = new MallMemberAmount();
- mallMemberAmount.setMemberId(mallMember.getId());
- mallMemberAmountMapper.insert(mallMemberAmount);
-
- MallMemberPayment mallMemberPayment = new MallMemberPayment();
- mallMemberPayment.setMemberId(mallMember.getId());
- mallMemberPaymentMapper.insert(mallMemberPayment);
ApiRegisterVo apiRegisterVo = new ApiRegisterVo();
apiRegisterVo.setAccount(mallMember.getAccountLogin());
- apiRegisterVo.setUserKey(mallMember.getUserKey());
+ apiRegisterVo.setUserKey(registerDto.getPassword());
return new FebsResponse().success().data(apiRegisterVo);
}
@@ -253,115 +240,8 @@
MallMember mallMember = this.baseMapper.selectById(id);
MallMemberVo mallMemberVo = MallMemberConversion.INSTANCE.entityToVo(mallMember);
-
- MallMember referMember = this.baseMapper.selectInfoByInviteId(mallMember.getReferrerId());
- if (referMember != null) {
- mallMemberVo.setReferrerName(referMember.getName());
- }
-
- MallMemberPayment payment = mallMemberPaymentMapper.selectByMemberId(id);
- if (payment != null) {
- mallMemberVo.setHasPayment(1);
- }
-
- DataDictionaryCustom nftMinDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- DataDictionaryEnum.NFT_MIN.getType(),
- DataDictionaryEnum.NFT_MIN.getCode());
- mallMemberVo.setNftMin(ObjectUtil.isEmpty(nftMinDic) ? new BigDecimal(100) : new BigDecimal(nftMinDic.getValue()));
-
- DataDictionaryCustom outFcmMinDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- DataDictionaryEnum.OUT_FCM_MIN.getType(),
- DataDictionaryEnum.OUT_FCM_MIN.getCode());
- mallMemberVo.setOutFcmMin(ObjectUtil.isEmpty(outFcmMinDic) ? new BigDecimal(100) : new BigDecimal(outFcmMinDic.getValue()));
-
- DataDictionaryCustom fcmPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- DataDictionaryEnum.FCM_PRICE.getType(),
- DataDictionaryEnum.FCM_PRICE.getCode());
- mallMemberVo.setFcmPrice(ObjectUtil.isEmpty(fcmPriceDic) ? new BigDecimal(8) : new BigDecimal(fcmPriceDic.getValue()));
-
- DataDictionaryCustom outFcmFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- DataDictionaryEnum.OUT_FCM_FEE.getType(),
- DataDictionaryEnum.OUT_FCM_FEE.getCode());
- mallMemberVo.setOutFcmFee(ObjectUtil.isEmpty(outFcmFeeDic) ? new BigDecimal(20) : new BigDecimal(outFcmFeeDic.getValue()));
-
- DataDictionaryCustom nftFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- DataDictionaryEnum.NFT_FEE.getType(),
- DataDictionaryEnum.NFT_FEE.getCode());
- BigDecimal nftFeePercent = ObjectUtil.isEmpty(nftFeeDic) ? new BigDecimal(20) : new BigDecimal(nftFeeDic.getValue());
- mallMemberVo.setNftFee(nftFeePercent);
-
- DataDictionaryCustom memberFrozenFcmCntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- DataDictionaryEnum.MEMBER_FROZEN_FCM_CNT.getType(),
- DataDictionaryEnum.MEMBER_FROZEN_FCM_CNT.getCode()
- );
- BigDecimal memberFrozenFcmCnt = ObjectUtil.isEmpty(memberFrozenFcmCntDic) ? new BigDecimal(100) : new BigDecimal(memberFrozenFcmCntDic.getValue());
- mallMemberVo.setUnfrozenCnt(memberFrozenFcmCnt);
-
- DataDictionaryCustom insureMinuteDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- DataDictionaryEnum.INSURE_END_MINUTE.getType(),
- DataDictionaryEnum.INSURE_END_MINUTE.getCode()
- );
- Integer insureMinute = Integer.parseInt(ObjectUtil.isEmpty(insureMinuteDic) ? "60" : insureMinuteDic.getValue());
- mallMemberVo.setMinuteCnt(insureMinute);
-
- DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(mallMember.getLevel(), mallMember.getLevel());
- if (dic != null) {
- mallMemberVo.setLevelName(dic.getDescription());
- }else{
- mallMemberVo.setLevelName("非会员");
- }
- MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectByMemberId(mallMember.getId());
- mallMemberVo.setGsd(mallMemberAmount.getGsd());
- mallMemberVo.setStaticNft(mallMemberAmount.getStaticNft());
- mallMemberVo.setTrendsNft(mallMemberAmount.getTrendsNft());
- mallMemberVo.setFrozenNft(mallMemberAmount.getFrozenNft());
- mallMemberVo.setFcmCntAva(mallMemberAmount.getFcmCntAva());
- mallMemberVo.setFcmCntFrozen(mallMemberAmount.getFcmCntFrozen());
- mallMemberVo.setTokenAva(mallMemberAmount.getTokenAva());
- mallMemberVo.setTokenFrozen(mallMemberAmount.getTokenFrozen());
- mallMemberVo.setTotalPerk(mallMemberAmount.getTotalPerk());
- DataDictionaryCustom startTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- DataDictionaryEnum.YU_YUE_START_TIME.getType(),
- DataDictionaryEnum.YU_YUE_START_TIME.getCode()
- );
- mallMemberVo.setStartTime(startTimeDic.getValue());
- DataDictionaryCustom endTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- DataDictionaryEnum.YU_YUE_END_TIME.getType(),
- DataDictionaryEnum.YU_YUE_END_TIME.getCode()
- );
- mallMemberVo.setEndTime(endTimeDic.getValue());
-
- Integer pickCount = mallProductBuyMapper.selectListByMemberIdAndState(id);
- mallMemberVo.setPickCount(pickCount);
-
-// BigDecimal totalPerk = mallProductBuyMapper.selectTotalPerkByMemberId(mallMember.getId());
-// mallMemberVo.setTotalPerk(totalPerk);
-
- DataDictionaryCustom insideNFTPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- DataDictionaryEnum.FCM_INSIDE_NFT_PERCENT.getType(),
- DataDictionaryEnum.FCM_INSIDE_NFT_PERCENT.getCode()
- );
- mallMemberVo.setInsideNFTPercent(insideNFTPercentDic.getValue());
-
- DataDictionaryCustom chargeAddressDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- DataDictionaryEnum.CHARGE_ADDRESS.getType(),
- DataDictionaryEnum.CHARGE_ADDRESS.getCode()
- );
- mallMemberVo.setChargeAddress(chargeAddressDic.getValue());
-
- DataDictionaryCustom withdrawAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- DataDictionaryEnum.WITHDRAW_AMOUNT.getType(),
- DataDictionaryEnum.WITHDRAW_AMOUNT.getCode()
- );
- BigDecimal withdrawAmount = new BigDecimal(withdrawAmountDic.getValue()).setScale(2, BigDecimal.ROUND_DOWN);
- mallMemberVo.setWithdrawAmount(withdrawAmount);
-
- DataDictionaryCustom usdtPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
- DataDictionaryEnum.USDT_PRICE.getType(),
- DataDictionaryEnum.USDT_PRICE.getCode()
- );
- BigDecimal usdtPrice = new BigDecimal(usdtPriceDic.getValue()).setScale(2, BigDecimal.ROUND_DOWN);
- mallMemberVo.setUsdtPrice(usdtPrice);
+ MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(mallMember.getId());
+ mallMemberVo.setBalance(mallMemberWallet.getBalance());
return new FebsResponse().success().data(mallMemberVo);
}
@@ -416,90 +296,98 @@
}
@Override
- public FebsResponse teamList(TeamListDto teamListDto) {
- Long memberId = null;
- if (teamListDto.getId() == null) {
- memberId = LoginUserUtil.getLoginUser().getId();
- } else {
- memberId = teamListDto.getId();
- }
-
+ public FebsResponse teamList() {
+ Long memberId = LoginUserUtil.getLoginUser().getId();
MallMember mallMember = this.baseMapper.selectById(memberId);
- List<TeamListVo> list = this.baseMapper.selectTeamListByInviteId(mallMember.getInviteId());
-
MyTeamVo myTeamVo = new MyTeamVo();
- myTeamVo.setTeam(list);
- BigDecimal myAchieve = this.baseMapper.selectAchieveByMemberId(mallMember.getInviteId(), 1);
- myTeamVo.setMyAchieve(myAchieve);
- BigDecimal myTeamAchieve = this.baseMapper.selectAchieveByMemberId(mallMember.getInviteId(), 2);
- myTeamVo.setMyTeamAchieve(myTeamAchieve.add(myAchieve));
- myTeamVo.setMyTeamCnt(this.baseMapper.selectAllChildAgentListByInviteId(mallMember.getInviteId()).size());
+ /**
+ * 团队人数,只有直属两级
+ */
+ ArrayList<Long> memberIdList = new ArrayList<>();
+ memberIdList.add(memberId);
+
+ QueryWrapper<MallMember> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("referrer_id",mallMember.getInviteId());
+ List<MallMember> mallMembers = this.baseMapper.selectList(objectQueryWrapper);
+ if(CollUtil.isNotEmpty(mallMembers)){
+ for(MallMember directMember : mallMembers){
+ //第一代
+ memberIdList.add(directMember.getId());
+
+ QueryWrapper<MallMember> directWrapper = new QueryWrapper<>();
+ directWrapper.eq("referrer_id",directMember.getInviteId());
+ List<MallMember> refMembers = this.baseMapper.selectList(directWrapper);
+ if(CollUtil.isNotEmpty(refMembers)){
+ for(MallMember refMember : refMembers){
+ //第二代
+ memberIdList.add(refMember.getId());
+ }
+ }
+ }
+ }
+ BigDecimal chargeAmount = mallMoneyFlowMapper.selectSumAmountByMemberIdAndType(memberIdList,GameFlowTypeEnum.PLAYER_CHARGE.getValue());
+
+ myTeamVo.setMyTeamCnt(memberIdList.size());
+ myTeamVo.setMyAchieve(chargeAmount);
return new FebsResponse().success().data(myTeamVo);
}
@Override
- public FebsResponse teamFcmList(TeamListDto teamListDto) {
- Long memberId = null;
- if (ObjectUtil.isEmpty(teamListDto.getId())) {
- memberId = LoginUserUtil.getLoginUser().getId();
- } else {
- memberId = teamListDto.getId();
- }
-
+ public FebsResponse teamFcmList() {
+ Long memberId = LoginUserUtil.getLoginUser().getId();
MallMember mallMember = this.baseMapper.selectById(memberId);
- MyFcmTeamVo myTeamVo = new MyFcmTeamVo();
- myTeamVo.setMemberId(mallMember.getId());
- myTeamVo.setAccountLogin(mallMember.getAccountLogin());
- myTeamVo.setIsFrozen(mallMember.getIsFrozen());
- myTeamVo.setLevelName(MemberLevelNewEnum.ZERO_LEVEL.getLevelName(mallMember.getLevel()));
- BigDecimal myAchieveBuy = this.baseMapper.selectAchieveBuyByMemberId(mallMember.getInviteId(), 1);
- myTeamVo.setMyAchieveBuy(myAchieveBuy);
- BigDecimal myAchieveSell = this.baseMapper.selectAchieveSellByMemberId(mallMember.getInviteId(), 1);
- myTeamVo.setMyAchieveSell(myAchieveSell);
- BigDecimal myTeamAchieveBuy = this.baseMapper.selectAchieveBuyByMemberId(mallMember.getInviteId(), 2);
- myTeamVo.setMyTeamAchieveBuy(myTeamAchieveBuy.add(myAchieveBuy));
- BigDecimal myTeamAchieveSell = this.baseMapper.selectAchieveSellByMemberId(mallMember.getInviteId(), 2);
- myTeamVo.setMyTeamAchieveSell(myTeamAchieveSell.add(myAchieveSell));
- myTeamVo.setMyTeamMemberCnt(this.baseMapper.selectAllChildAgentListByInviteId(mallMember.getInviteId()).size());
- Integer buyCnt = this.baseMapper.selectAchieveBuyOrderCntByMemberId(mallMember.getInviteId());
- Integer sellCnt = this.baseMapper.selectAchieveSellOrderCntByMemberId(mallMember.getInviteId());
- myTeamVo.setMyTeamOrderCnt(buyCnt+sellCnt);
+ ArrayList<MyFcmTeamVo> myFcmTeamVos = new ArrayList<>();
+ /**
+ * 团队人数,只有直属两级
+ */
+ ArrayList<Long> memberIdList = new ArrayList<>();
+ memberIdList.add(memberId);
- List<MallMember> mallMembersDirects = this.baseMapper.selectChildAgentListByInviteId(mallMember.getInviteId());
- List<MyFcmTeamVo> list = new ArrayList<>();
- if(CollUtil.isNotEmpty(mallMembersDirects)){
- for(MallMember mallMembersDirect : mallMembersDirects){
- MyFcmTeamVo myTeamDirectVo = new MyFcmTeamVo();
- myTeamDirectVo.setMemberId(mallMembersDirect.getId());
- myTeamDirectVo.setAccountLogin(mallMembersDirect.getAccountLogin());
- myTeamDirectVo.setIsFrozen(mallMembersDirect.getIsFrozen());
- myTeamDirectVo.setLevelName(
- dataDictionaryCustomMapper.selectDicDataByTypeAndCode(mallMembersDirect.getLevel(),mallMembersDirect.getLevel()).getDescription()
- );
+ QueryWrapper<MallMember> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("referrer_id",mallMember.getInviteId());
+ List<MallMember> mallMembers = this.baseMapper.selectList(objectQueryWrapper);
+ if(CollUtil.isNotEmpty(mallMembers)){
+ for(MallMember directMember : mallMembers){
+ //第一代
+ memberIdList.add(directMember.getId());
- BigDecimal myAchieveBuyDirect = this.baseMapper.selectAchieveBuyByMemberId(mallMembersDirect.getInviteId(), 1);
- myTeamDirectVo.setMyAchieveBuy(myAchieveBuyDirect);
- BigDecimal myAchieveSellDirect = this.baseMapper.selectAchieveSellByMemberId(mallMembersDirect.getInviteId(), 1);
- myTeamDirectVo.setMyAchieveSell(myAchieveSellDirect);
- BigDecimal myTeamAchieveBuyDirect = this.baseMapper.selectAchieveBuyByMemberId(mallMembersDirect.getInviteId(), 2);
- myTeamDirectVo.setMyTeamAchieveBuy(myTeamAchieveBuyDirect.add(myAchieveBuyDirect));
- BigDecimal myTeamAchieveSellDirect = this.baseMapper.selectAchieveSellByMemberId(mallMembersDirect.getInviteId(), 2);
- myTeamDirectVo.setMyTeamAchieveSell(myTeamAchieveSellDirect.add(myAchieveSellDirect));
- myTeamDirectVo.setMyTeamMemberCnt(this.baseMapper.selectAllChildAgentListByInviteId(mallMembersDirect.getInviteId()).size());
- Integer buyCntDirect = this.baseMapper.selectAchieveBuyOrderCntByMemberId(mallMembersDirect.getInviteId());
- Integer sellCntDirect = this.baseMapper.selectAchieveSellOrderCntByMemberId(mallMembersDirect.getInviteId());
- myTeamDirectVo.setMyTeamOrderCnt(buyCntDirect+sellCntDirect);
- list.add(myTeamDirectVo);
+ QueryWrapper<MallMember> directWrapper = new QueryWrapper<>();
+ directWrapper.eq("referrer_id",directMember.getInviteId());
+ List<MallMember> refMembers = this.baseMapper.selectList(directWrapper);
+ if(CollUtil.isNotEmpty(refMembers)){
+ for(MallMember refMember : refMembers){
+ //第二代
+ memberIdList.add(refMember.getId());
+ }
+ }
}
}
- myTeamVo.setTeam(list);
+ for(Long id : memberIdList){
+ MyFcmTeamVo myFcmTeamVo = new MyFcmTeamVo();
+ MallMember member = this.baseMapper.selectById(id);
+ myFcmTeamVo.setAccountLogin(member.getAccountLogin());
+ BigDecimal chargeAmount = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_CHARGE.getValue());
+ myFcmTeamVo.setChargeAmount(chargeAmount);
- return new FebsResponse().success().data(myTeamVo);
+ MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(id);
+ myFcmTeamVo.setBalance(mallMemberWallet.getBalance());
+
+ BigDecimal amountBuy = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_PICK_NUM.getValue());
+ myFcmTeamVo.setAmountBuy(amountBuy);
+
+ BigDecimal playerPerk = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.PLAYER_PERK.getValue());
+ BigDecimal ownerPerk = mallMoneyFlowMapper.selectSumByMemberIdAndType(id,GameFlowTypeEnum.OWNER_PERK.getValue());
+ myFcmTeamVo.setAmountPerk(amountBuy.add(playerPerk).add(ownerPerk));
+
+ myFcmTeamVos.add(myFcmTeamVo);
+ }
+
+ return new FebsResponse().success().data(myFcmTeamVos);
}
@Override
@@ -512,7 +400,6 @@
IPage<MoneyFlowVo> page = new Page<>(moneyFlowDto.getPageNum(), moneyFlowDto.getPageSize());
Long id = LoginUserUtil.getLoginUser().getId();
moneyFlowDto.setMemberId(id);
-// IPage<MoneyFlowVo> pages = mallMoneyFlowMapper.selectApiMoneyFlowInPage(page, moneyFlowDto);
IPage<MoneyFlowVo> pages = mallMoneyFlowMapper.selectApiFcmMoneyFlowInPage(page, moneyFlowDto);
return new FebsResponse().success().data(pages);
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/GameServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/GameServiceImpl.java
new file mode 100644
index 0000000..8f347cc
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/GameServiceImpl.java
@@ -0,0 +1,795 @@
+package cc.mrbird.febs.mall.service.impl;
+
+import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.common.enumerates.*;
+import cc.mrbird.febs.common.exception.FebsException;
+import cc.mrbird.febs.common.utils.AppContants;
+import cc.mrbird.febs.common.utils.LoginUserUtil;
+import cc.mrbird.febs.common.utils.MallUtils;
+import cc.mrbird.febs.common.utils.ShareCodeUtil;
+import cc.mrbird.febs.mall.dto.*;
+import cc.mrbird.febs.mall.entity.*;
+import cc.mrbird.febs.mall.mapper.*;
+import cc.mrbird.febs.mall.service.GameService;
+import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
+import cc.mrbird.febs.mall.service.IMallMoneyFlowService;
+import cc.mrbird.febs.mall.vo.*;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.RandomUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.poi.ss.formula.functions.Choose;
+import org.springframework.stereotype.Service;
+import cc.mrbird.febs.websocket.WsSessionManager;
+import org.springframework.transaction.annotation.Transactional;
+import sun.net.www.content.image.png;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class GameServiceImpl extends ServiceImpl<GameRoomMapper, GameRoom> implements GameService {
+
+ private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
+ private final MallMemberMapper mallMemberMapper;
+ private final MallMemberWalletMapper mallMemberWalletMapper;
+ private final GameRoomMapper gameRoomMapper;
+ private final GameRoomChildMapper gameRoomChildMapper;
+ private final GameGameMapper gameGameMapper;
+ private final GameGameChildMapper gameGameChildMapper;
+ private final IApiMallMemberWalletService memberWalletService;
+ private final IMallMoneyFlowService mallMoneyFlowService;
+ @Override
+ public FebsResponse roomType() {
+ ArrayList<RoomTypeVo> objects = new ArrayList<>();
+
+ List<GameRoomTypeEnum> roomLists = GameRoomTypeEnum.ROOM_ONE.getRoomList();
+ if(CollUtil.isNotEmpty(roomLists)){
+ for(GameRoomTypeEnum gameRoomTypeEnum : roomLists){
+ RoomTypeVo roomTypeVo = new RoomTypeVo();
+ roomTypeVo.setRoomName(gameRoomTypeEnum.getRoomName());
+ roomTypeVo.setRoomType(gameRoomTypeEnum.getRoomType());
+ roomTypeVo.setRoomAmount(new BigDecimal(gameRoomTypeEnum.getRoomAmount()));
+ roomTypeVo.setMinAmount(new BigDecimal(gameRoomTypeEnum.getMinAmount()));
+ roomTypeVo.setMaxAmount(new BigDecimal(gameRoomTypeEnum.getMaxAmount()));
+ String amounts = gameRoomTypeEnum.getAmounts();
+ // 使用split方法将字符串按照逗号分割成数组
+ String[] numbersArray = amounts.split(",");
+
+ // 将数组转换成Stream
+ List<BigDecimal> numbersList = Arrays.stream(numbersArray)
+ // 使用map方法将每个字符串元素转换成BigDecimal
+ .map(BigDecimal::new)
+ // 收集到List中
+ .collect(Collectors.toList());
+ roomTypeVo.setAmounts(numbersList);
+ objects.add(roomTypeVo);
+ }
+ }
+ return new FebsResponse().success().data(objects);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public FebsResponse createRoom(ApiCreateRoomDto apiCreateRoomDto) {
+ /**
+ * 用户登录
+ * 判断是否是代理,只有代理才能创建房间
+ * 初始化一条主房间记录
+ * 初始化一条子房间记录
+ * 返回房间信息
+ */
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+ //每局时间倒计时
+ Integer gameTime = apiCreateRoomDto.getGameTime();
+ if(1 > gameTime || 60 < gameTime){
+ throw new FebsException("请输入合适的数字");
+ }
+ //代理身份才能创建房间
+ MallMember mallMember = mallMemberMapper.selectById(memberId);
+ Integer partner = ObjectUtil.isEmpty(mallMember.getPartner()) ? 2 : mallMember.getPartner();
+ if(AppContants.MEMBER_PARTNER_NO == partner){
+ throw new FebsException("用户没有创建房间的权限!");
+ }
+
+ Integer roomType = apiCreateRoomDto.getRoomType();
+ GameRoomTypeEnum room = GameRoomTypeEnum.ROOM_ONE.getRoom(roomType);
+ if(ObjectUtil.isEmpty(room)){
+ throw new FebsException("请选择正确的房间类型!");
+ }
+ //创建房间的最小金额
+ BigDecimal roomAmount = new BigDecimal(room.getRoomAmount()).setScale(2, BigDecimal.ROUND_DOWN);
+ MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
+ if(roomAmount.compareTo(mallMemberWallet.getBalance()) > 0){
+ throw new FebsException("金额不足,请充值!");
+ }
+ //初始化一条主房间记录
+ GameRoom gameRoom = new GameRoom();
+ gameRoom.setRoomType(roomType);
+ gameRoom.setState(GameRoom.STATE_READY);
+ gameRoom.setOwnerMemberId(memberId);
+ gameRoom.setGameTime(gameTime);
+ gameRoomMapper.insert(gameRoom);
+
+ boolean flag = false;
+ String password = ShareCodeUtil.toSerialNumberCodeTwo(gameRoom.getId());
+ while (!flag){
+ QueryWrapper<GameRoom> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("password",password);
+ List<GameRoom> gameRooms = gameRoomMapper.selectList(objectQueryWrapper);
+ if(CollUtil.isEmpty(gameRooms)){
+ flag = true;
+ }else{
+ password = ShareCodeUtil.toSerialNumberCodeTwo(gameRoom.getId());
+ }
+ }
+ gameRoom.setPassword(password);
+ gameRoomMapper.updateById(gameRoom);
+ //初始化一条子房间记录
+ GameRoomChild gameRoomChild = new GameRoomChild();
+ gameRoomChild.setRoomId(gameRoom.getId());
+ gameRoomChild.setOwnerState(GameRoomChild.OWNER_TRUE);
+ gameRoomChild.setMemberId(memberId);
+ gameRoomChildMapper.insert(gameRoomChild);
+
+ ApiCreateRoomVo apiCreateRoomVo = new ApiCreateRoomVo();
+ apiCreateRoomVo.setRoomType(roomType);
+ apiCreateRoomVo.setRoomId(gameRoom.getId());
+ apiCreateRoomVo.setPassword(password);
+ apiCreateRoomVo.setState(gameRoom.getState());
+ return new FebsResponse().success().data(apiCreateRoomVo);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public FebsResponse startGame(ApiStartGameDto startGameDto) {
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+ MallMember mallMember = mallMemberMapper.selectById(memberId);
+
+ Long roomId = startGameDto.getRoomId();
+ QueryWrapper<GameRoom> roomQueryWrapper = new QueryWrapper<>();
+ roomQueryWrapper.eq("owner_member_id",memberId);
+ roomQueryWrapper.eq("id",roomId);
+ GameRoom gameRoom = gameRoomMapper.selectOne(roomQueryWrapper);
+ if(ObjectUtil.isEmpty(gameRoom)){
+ throw new FebsException("房间不存在");
+ }
+ if(GameRoom.STATE_READY != gameRoom.getState()){
+ throw new FebsException("游戏已开始");
+ }
+
+ Integer roomType = gameRoom.getRoomType();
+ GameRoomTypeEnum room = GameRoomTypeEnum.ROOM_ONE.getRoom(roomType);
+ if(ObjectUtil.isEmpty(room)){
+ throw new FebsException("请选择正确的房间类型!");
+ }
+ //创建房间的最小金额
+ BigDecimal roomAmount = new BigDecimal(room.getRoomAmount()).setScale(2, BigDecimal.ROUND_DOWN);
+ MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
+ if(roomAmount.compareTo(mallMemberWallet.getBalance()) > 0){
+ throw new FebsException("金额不足,请充值!");
+ }
+
+ gameRoom.setState(GameRoom.STATE_ING);
+ gameRoomMapper.updateById(gameRoom);
+
+ GameGame gameGame = new GameGame();
+ gameGame.setMemberId(memberId);
+ gameGame.setRoomId(roomId);
+ gameGame.setState(GameGame.STATE_READY);
+ gameGameMapper.insert(gameGame);
+
+ /**
+ * 给房间里面的所有人发送一个开始的信息
+ */
+ this.sendMsgByRoomId(roomId,"START:"+gameGame.getId());
+
+ ApiStartGameVo apiStartGameVo = new ApiStartGameVo();
+ apiStartGameVo.setRoomType(gameRoom.getRoomType());
+ apiStartGameVo.setRoomId(gameRoom.getId());
+ apiStartGameVo.setPassword(gameRoom.getPassword());
+ apiStartGameVo.setState(gameRoom.getState());
+ apiStartGameVo.setCreatedTime(gameGame.getCreatedTime());
+ return new FebsResponse().success().data(apiStartGameVo);
+ }
+
+ @Override
+ public void sendMsgByRoomId(Long roomId,String msg) {
+ QueryWrapper<GameRoomChild> gameRoomChildQueryWrapper = new QueryWrapper<>();
+ gameRoomChildQueryWrapper.eq("room_id",roomId);
+ List<GameRoomChild> gameRoomChildrens = gameRoomChildMapper.selectList(gameRoomChildQueryWrapper);
+ if(CollUtil.isEmpty(gameRoomChildrens)){
+ return;
+ }
+ List<Long> playerMemberIds = gameRoomChildrens.stream().map(GameRoomChild::getMemberId).collect(Collectors.toList());
+ this.sendMsgByMemberIds(playerMemberIds,msg);
+ }
+
+ @Override
+ public void sendMsgByMemberIds(List<Long> memberIds,String msg) {
+ QueryWrapper<MallMember> memberQueryWrapper = new QueryWrapper<>();
+ memberQueryWrapper.in("id",memberIds);
+ List<MallMember> mallMembers = mallMemberMapper.selectList(memberQueryWrapper);
+ if(CollUtil.isEmpty(mallMembers)){
+ return;
+ }
+ String inviteIdsString = mallMembers.stream()
+ .map(MallMember::getInviteId) // 提取每个MallMember的inviteId
+ .collect(Collectors.joining(",")); // 使用逗号连接所有inviteId
+ WsSessionManager.sendMsgToMany(inviteIdsString,msg);
+ }
+
+ @Override
+ public void sendMsgByMemberId(Long memberId,String msg) {
+ MallMember mallMembers = mallMemberMapper.selectById(memberId);
+ if(ObjectUtil.isEmpty(mallMembers)){
+ return;
+ }
+ WsSessionManager.sendMsgToOne(mallMembers.getInviteId(),msg);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public FebsResponse chooseNum(ApiChooseNumDto apiChooseNumDto) {
+ /**
+ * 判断这个房间投注人是否在房间中
+ * 判断游戏的状态是否是投注中
+ * 判断房间类型是否满足投注金额
+ * 判断游戏的投注金额是否足够
+ */
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+
+ Long roomId = apiChooseNumDto.getRoomId();
+ Integer chooseNum = apiChooseNumDto.getChooseNum();
+ BigDecimal amount = apiChooseNumDto.getAmount();
+ Long gameId = apiChooseNumDto.getGameId();
+
+ GameRoom gameRoom = gameRoomMapper.selectById(roomId);
+ if(ObjectUtil.isEmpty(gameRoom)){
+ throw new FebsException("房间不存在");
+ }
+ if(GameRoom.STATE_DONE == gameRoom.getState()){
+ throw new FebsException("房主关闭了房间");
+ }
+ if(GameRoom.STATE_READY == gameRoom.getState()){
+ throw new FebsException("请等待房主开始游戏");
+ }
+
+ QueryWrapper<GameRoomChild> gameRoomChildQueryWrapper = new QueryWrapper<>();
+ gameRoomChildQueryWrapper.eq("room_id",gameRoom.getId());
+ gameRoomChildQueryWrapper.eq("member_id",memberId);
+ GameRoomChild gameRoomChildExist = gameRoomChildMapper.selectOne(gameRoomChildQueryWrapper);
+ if(ObjectUtil.isEmpty(gameRoomChildExist)){
+ throw new FebsException("请重新进入房间");
+ }
+
+ MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
+ BigDecimal balance = mallMemberWallet.getBalance();
+ if(BigDecimal.ZERO.compareTo(balance) > 0){
+ throw new FebsException("余额不足");
+ }
+ if(amount.compareTo(balance) > 0){
+ throw new FebsException("请减小金额");
+ }
+
+ GameRoomTypeEnum room = GameRoomTypeEnum.ROOM_ONE.getRoom(gameRoom.getRoomType());
+ // 使用split方法将字符串按照逗号分割成数组
+ String[] numbersArray = room.getAmounts().split(",");
+ // 将数组转换成Stream
+ List<BigDecimal> numbersList = Arrays.stream(numbersArray)
+ // 使用map方法将每个字符串元素转换成BigDecimal
+ .map(BigDecimal::new)
+ // 收集到List中
+ .collect(Collectors.toList());
+ boolean contains = numbersList.contains(amount);
+ if(!contains){
+ throw new FebsException("请选择正确的金额");
+ }
+ if(chooseNum < 1 || chooseNum > 6){
+ throw new FebsException("请选择正确的投注");
+ }
+
+ GameGame gameGame = gameGameMapper.selectById(gameId);
+ if(ObjectUtil.isEmpty(gameGame)){
+ throw new FebsException("请重新进入游戏");
+ }
+ if(GameGame.STATE_READY != gameGame.getState()){
+ throw new FebsException("本轮已结束");
+ }
+
+ /**
+ * 开始投注
+ * 初始化一条投注子记录
+ * 更新游戏主记录
+ * 通知房主,更新页面。
+ * 减少用户的金额
+ * 初始化一条流水记录
+ */
+ memberWalletService.reduceBalance(amount,memberId);
+ mallMoneyFlowService.addMoneyFlow(
+ mallMemberWallet.getMemberId(),
+ amount.negate(),
+ GameFlowTypeEnum.PLAYER_PICK_NUM.getValue(),
+ MallUtils.getOrderNum("TZ"),
+ StrUtil.format(
+ GameFlowTypeEnum.PLAYER_PICK_NUM.getDescrition(),
+ gameRoom.getPassword(),
+ GamePNGEnum.SHI_ZI.getPngName(chooseNum)));
+
+ GameGameChild gameGameChild = new GameGameChild();
+ gameGameChild.setGameId(gameId);
+ gameGameChild.setMemberId(memberId);
+ gameGameChild.setAmount(amount);
+ gameGameChild.setPickNum(chooseNum);
+ gameGameChild.setState(GameGameChild.STATE_ING);
+ gameGameChildMapper.insert(gameGameChild);
+
+ if(1 == chooseNum){
+ BigDecimal add = gameGame.getPickOne().add(amount).setScale(2,BigDecimal.ROUND_DOWN);
+ gameGame.setPickOne(add);
+ }
+ if(2 == chooseNum){
+ BigDecimal add = gameGame.getPickTwo().add(amount).setScale(2,BigDecimal.ROUND_DOWN);
+ gameGame.setPickTwo(add);
+ }
+ if(3 == chooseNum){
+ BigDecimal add = gameGame.getPickThree().add(amount).setScale(2,BigDecimal.ROUND_DOWN);
+ gameGame.setPickThree(add);
+ }
+ if(4 == chooseNum){
+ BigDecimal add = gameGame.getPickFour().add(amount).setScale(2,BigDecimal.ROUND_DOWN);
+ gameGame.setPickFour(add);
+ }
+ if(5 == chooseNum){
+ BigDecimal add = gameGame.getPickFive().add(amount).setScale(2,BigDecimal.ROUND_DOWN);
+ gameGame.setPickFive(add);
+ }
+ if(6 == chooseNum){
+ BigDecimal add = gameGame.getPickSix().add(amount).setScale(2,BigDecimal.ROUND_DOWN);
+ gameGame.setPickSix(add);
+ }
+ gameGameMapper.updateById(gameGame);
+
+ /**
+ * 给房间里面的所有人发送一个开始的信息
+ */
+ this.sendMsgByRoomId(roomId,"TZ:"+gameGame.getId());
+
+ return new FebsResponse().success().message("操作成功");
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public FebsResponse gameIn(ApiGameDto apiGameDto) {
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+ /**
+ * 验证唯一房间编码是否存在
+ * 验证当前是否已经加入过该房间
+ * 验证当前用户的钱是否足够进入该房间
+ * 获取房间状态信息、房间游戏信息
+ * 初始化房间子表的数据
+ */
+ String password = apiGameDto.getPassword();
+ QueryWrapper<GameRoom> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("password", password);
+ GameRoom gameRoom = gameRoomMapper.selectOne(objectQueryWrapper);
+ if(ObjectUtil.isEmpty(gameRoom)){
+ throw new FebsException("房间不存在");
+ }
+
+ if(GameRoom.STATE_DONE == gameRoom.getState()){
+ throw new FebsException("房间已失效");
+ }
+
+ ApiGamePlayerVo apiGamePlayerVo = new ApiGamePlayerVo();
+
+ QueryWrapper<GameRoomChild> gameRoomChildQueryWrapper = new QueryWrapper<>();
+ gameRoomChildQueryWrapper.eq("room_id",gameRoom.getId());
+ gameRoomChildQueryWrapper.eq("member_id",memberId);
+ GameRoomChild gameRoomChildExist = gameRoomChildMapper.selectOne(gameRoomChildQueryWrapper);
+
+ MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
+ BigDecimal balance = mallMemberWallet.getBalance();
+ GameRoomTypeEnum room = GameRoomTypeEnum.ROOM_ONE.getRoom(gameRoom.getRoomType());
+ if(ObjectUtil.isNotEmpty(gameRoomChildExist)){
+ Integer ownerState = gameRoomChildExist.getOwnerState();
+ if(GameRoomChild.OWNER_TRUE == ownerState){
+ BigDecimal roomAmount = new BigDecimal(room.getRoomAmount()).setScale(2,BigDecimal.ROUND_DOWN);
+ if(roomAmount.compareTo(balance) > 0){
+ throw new FebsException("进入房间,需要"+roomAmount+",请先充值");
+ }
+ }else{
+ BigDecimal minAmount = new BigDecimal(room.getMinAmount()).setScale(2,BigDecimal.ROUND_DOWN);
+ if(minAmount.compareTo(balance) > 0){
+ throw new FebsException("继续游戏需要"+minAmount+",请先充值");
+ }
+ }
+ }else{
+ BigDecimal minAmount = new BigDecimal(room.getMinAmount()).setScale(2,BigDecimal.ROUND_DOWN);
+ if(minAmount.compareTo(balance) > 0){
+ throw new FebsException("继续游戏需要"+minAmount+",请先充值");
+ }
+ }
+
+ if(ObjectUtil.isNotEmpty(gameRoomChildExist)){
+ apiGamePlayerVo.setPlayerType(gameRoomChildExist.getOwnerState());
+ }else{
+
+ GameRoomChild gameRoomChild = new GameRoomChild();
+ gameRoomChild.setRoomId(gameRoom.getId());
+ gameRoomChild.setMemberId(memberId);
+ gameRoomChild.setOwnerState(GameRoomChild.OWNER_FALSE);
+ gameRoomChildMapper.insert(gameRoomChild);
+ apiGamePlayerVo.setPlayerType(gameRoomChild.getOwnerState());
+ }
+ apiGamePlayerVo.setBalance(balance);
+
+ apiGamePlayerVo.setRoomType(gameRoom.getRoomType());
+ apiGamePlayerVo.setRoomId(gameRoom.getId());
+ apiGamePlayerVo.setPassword(gameRoom.getPassword());
+ apiGamePlayerVo.setState(gameRoom.getState());
+ apiGamePlayerVo.setGameTime(gameRoom.getGameTime());
+
+ QueryWrapper<GameGame> gameGameQueryWrapper = new QueryWrapper<>();
+ gameGameQueryWrapper.eq("room_id",gameRoom.getId());
+ gameGameQueryWrapper.orderByDesc("CREATED_TIME");
+ gameGameQueryWrapper.last("limit 5");
+ List<GameGame> gameGames = gameGameMapper.selectList(gameGameQueryWrapper);
+ List<ApiGameGameVo> apiGameGameVos = new ArrayList<>();
+ if(CollUtil.isNotEmpty(gameGames)){
+ for(GameGame gameGame : gameGames){
+ ApiGameGameVo apiGameGameVo = new ApiGameGameVo();
+ apiGameGameVo.setFirstNum(ObjectUtil.isEmpty(gameGame.getFirstNum()) ? 0 : gameGame.getFirstNum());
+ apiGameGameVo.setSecondNum(ObjectUtil.isEmpty(gameGame.getSecondNum()) ? 0 : gameGame.getSecondNum());
+ apiGameGameVo.setState(gameGame.getState());
+ apiGameGameVo.setPerkTime(gameGame.getPerkTime());
+ if(GameGame.STATE_READY == gameGame.getState()){
+ apiGamePlayerVo.setGameId(gameGame.getId());
+ apiGamePlayerVo.setCreatedTime(gameGame.getCreatedTime());
+ }
+ apiGameGameVos.add(apiGameGameVo);
+ }
+ }
+ apiGamePlayerVo.setApiGameGameVos(apiGameGameVos);
+
+ return new FebsResponse().success().data(apiGamePlayerVo);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public FebsResponse endGame(ApiEndGameDto endGameDto) {
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+ Long roomId = endGameDto.getRoomId();
+ Long gameId = endGameDto.getGameId();
+ /**
+ * 只有房主才能结束本轮游戏
+ * 判断本轮游戏状态
+ * 结算
+ * 判断房主是否还够资金开启下一轮游戏
+ * 等待房主开始
+ */
+ GameRoom gameRoom = gameRoomMapper.selectById(roomId);
+ if(ObjectUtil.isEmpty(gameRoom)){
+ throw new FebsException("房间不存在");
+ }
+
+ QueryWrapper<GameRoomChild> gameRoomChildQueryWrapper = new QueryWrapper<>();
+ gameRoomChildQueryWrapper.eq("room_id",roomId);
+ gameRoomChildQueryWrapper.eq("member_id",memberId);
+ gameRoomChildQueryWrapper.eq("owner_state",GameRoomChild.OWNER_TRUE);
+ GameRoomChild gameRoomChildExist = gameRoomChildMapper.selectOne(gameRoomChildQueryWrapper);
+ if(ObjectUtil.isEmpty(gameRoomChildExist)){
+ throw new FebsException("房间不存在");
+ }
+
+ QueryWrapper<GameGame> gameGameQueryWrapper = new QueryWrapper<>();
+ gameGameQueryWrapper.eq("id",gameId);
+ gameGameQueryWrapper.eq("room_id",roomId);
+ gameGameQueryWrapper.eq("member_id",memberId);
+ gameGameQueryWrapper.eq("state",GameGame.STATE_READY);
+ GameGame gameGameExist = gameGameMapper.selectOne(gameGameQueryWrapper);
+ if(ObjectUtil.isEmpty(gameGameExist)){
+ throw new FebsException("本轮游戏已结束");
+ }
+
+ //将游戏房间更新为准备中
+ gameRoom.setState(GameRoom.STATE_READY);
+ gameRoomMapper.updateById(gameRoom);
+ //产生两个随机的1-6的数字
+ int firstNum = RandomUtil.randomInt(1, 7);
+ int secondNum = RandomUtil.randomInt(1, 7);
+ gameGameExist.setFirstNum(firstNum);
+ gameGameExist.setSecondNum(secondNum);
+ gameGameExist.setState(GameGame.STATE_DONE);
+ gameGameExist.setPerkTime(new Date());
+ gameGameMapper.updateById(gameGameExist);
+ //结算 todo 改成rabbitMq消息推送,注意游戏主表的状态变化
+ this.perkGameGameChild(gameId,firstNum,secondNum);
+
+ this.sendMsgByRoomId(roomId,"DONE:"+gameId);
+
+ ApiEndGameVo apiEndGameVo = new ApiEndGameVo();
+ apiEndGameVo.setRoomId(roomId);
+ return new FebsResponse().success().data(apiEndGameVo);
+ }
+
+ @Override
+ public BigDecimal perkGameGameChild(Long gameId,int firstNum,int secondNum) {
+ BigDecimal totalPerk = BigDecimal.ZERO;
+ /**
+ * 获取本局游戏的全部参与人员
+ * 结算金额
+ */
+ QueryWrapper<GameGameChild> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("game_id",gameId);
+ objectQueryWrapper.eq("state",GameGameChild.STATE_ING);
+ List<GameGameChild> gameGameChildrens = gameGameChildMapper.selectList(objectQueryWrapper);
+ if(CollUtil.isEmpty(gameGameChildrens)){
+ return totalPerk;
+ }
+ for(GameGameChild gameChild : gameGameChildrens){
+ Long memberId = gameChild.getMemberId();
+ //投入金额
+ BigDecimal amount = gameChild.getAmount();
+ //投注号码
+ Integer pickNum = gameChild.getPickNum();
+ //中奖金额
+ BigDecimal perkAmount = BigDecimal.ZERO;
+ if(pickNum == firstNum){
+ GamePNGEnum png = GamePNGEnum.SHI_ZI.getPng(firstNum);
+ if(ObjectUtil.isNotEmpty(png)){
+ Integer pngTimes = png.getPngTimes();
+ perkAmount = perkAmount.add(amount.multiply(new BigDecimal(pngTimes)).setScale(2,BigDecimal.ROUND_DOWN));
+ }
+ }
+ if(pickNum == secondNum){
+ GamePNGEnum png = GamePNGEnum.SHI_ZI.getPng(secondNum);
+ if(ObjectUtil.isNotEmpty(png)){
+ Integer pngTimes = png.getPngTimes();
+ perkAmount = perkAmount.add(amount.multiply(new BigDecimal(pngTimes)).setScale(2,BigDecimal.ROUND_DOWN));
+ }
+ }
+ if(BigDecimal.ZERO.compareTo(perkAmount) >= 0){//说明两个号码没中,
+ gameChild.setPerkState(GameGameChild.PERK_STATE_NO);
+ gameChild.setPerkAmount(amount.negate());
+
+ mallMoneyFlowService.addMoneyFlow(
+ gameChild.getMemberId(),
+ BigDecimal.ZERO,
+ GameFlowTypeEnum.PLAYER_PERK.getValue(),
+ MallUtils.getOrderNum("ZJ"),
+ StrUtil.format(
+ GameFlowTypeEnum.PLAYER_PERK.getDescrition(),
+ GamePNGEnum.SHI_ZI.getPngName(firstNum),
+ GamePNGEnum.SHI_ZI.getPngName(secondNum),
+ GamePNGEnum.SHI_ZI.getPngName(pickNum)
+ ));
+
+ totalPerk = totalPerk.add(amount);
+ }else{
+ gameChild.setPerkState(GameGameChild.PERK_STATE_YES);
+ gameChild.setPerkAmount(perkAmount);
+
+ BigDecimal memberTotalPerk = perkAmount.add(amount);
+ memberWalletService.addBalance(memberTotalPerk,gameChild.getMemberId());
+
+ mallMoneyFlowService.addMoneyFlow(
+ gameChild.getMemberId(),
+ memberTotalPerk,
+ GameFlowTypeEnum.PLAYER_PERK.getValue(),
+ MallUtils.getOrderNum("ZJ"),
+ StrUtil.format(
+ GameFlowTypeEnum.PLAYER_PERK.getDescrition(),
+ GamePNGEnum.SHI_ZI.getPngName(firstNum),
+ GamePNGEnum.SHI_ZI.getPngName(secondNum),
+ GamePNGEnum.SHI_ZI.getPngName(pickNum)
+ ));
+
+ totalPerk = totalPerk.subtract(perkAmount);
+ }
+ gameChild.setPerkNumOne(firstNum);
+ gameChild.setPerkNumTwo(secondNum);
+ gameChild.setState(GameGameChild.STATE_DONE);
+ gameGameChildMapper.updateById(gameChild);
+ }
+
+ GameGame gameGame = gameGameMapper.selectById(gameId);
+
+ Long memberId = gameGame.getMemberId();
+ memberWalletService.addBalance(totalPerk,memberId);
+ mallMoneyFlowService.addMoneyFlow(
+ memberId,
+ totalPerk,
+ GameFlowTypeEnum.OWNER_PERK.getValue(),
+ MallUtils.getOrderNum("KJ"),
+ StrUtil.format(
+ GameFlowTypeEnum.OWNER_PERK.getDescrition(),
+ GamePNGEnum.SHI_ZI.getPngName(firstNum),
+ GamePNGEnum.SHI_ZI.getPngName(secondNum)
+ ));
+
+ gameGame.setState(GameGame.STATE_OVER);
+ gameGameMapper.updateById(gameGame);
+ return totalPerk;
+ }
+
+ @Override
+ public FebsResponse nextGame(ApiNextGameDto apiNextGameDto) {
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+ /**
+ * 验证唯一房间编码是否存在
+ * 验证当前是否已经加入过该房间
+ * 验证当前用户的钱是否足够进入该房间
+ * 获取房间状态信息、房间游戏信息
+ * 初始化房间子表的数据
+ */
+ Long gameId = apiNextGameDto.getGameId();
+ GameGame gameGameNow = gameGameMapper.selectById(gameId);
+ if(ObjectUtil.isEmpty(gameGameNow)){
+ throw new FebsException("游戏等待中");
+ }
+ GameRoom gameRoom = gameRoomMapper.selectById(gameGameNow.getRoomId());
+ if(ObjectUtil.isEmpty(gameRoom)){
+ throw new FebsException("房间不存在");
+ }
+
+ if(GameRoom.STATE_DONE == gameRoom.getState()){
+ throw new FebsException("房间已失效");
+ }
+
+ ApiNextGameVo apiGamePlayerVo = new ApiNextGameVo();
+
+ QueryWrapper<GameRoomChild> gameRoomChildQueryWrapper = new QueryWrapper<>();
+ gameRoomChildQueryWrapper.eq("room_id",gameRoom.getId());
+ gameRoomChildQueryWrapper.eq("member_id",memberId);
+ GameRoomChild gameRoomChildExist = gameRoomChildMapper.selectOne(gameRoomChildQueryWrapper);
+
+ MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
+ BigDecimal balance = mallMemberWallet.getBalance();
+ GameRoomTypeEnum room = GameRoomTypeEnum.ROOM_ONE.getRoom(gameRoom.getRoomType());
+ if(ObjectUtil.isNotEmpty(gameRoomChildExist)){
+ Integer ownerState = gameRoomChildExist.getOwnerState();
+ if(GameRoomChild.OWNER_TRUE == ownerState){
+ BigDecimal roomAmount = new BigDecimal(room.getRoomAmount()).setScale(2,BigDecimal.ROUND_DOWN);
+ if(roomAmount.compareTo(balance) > 0){
+ throw new FebsException("进入房间,需要"+roomAmount+",请先充值");
+ }
+ }else{
+ BigDecimal minAmount = new BigDecimal(room.getMinAmount()).setScale(2,BigDecimal.ROUND_DOWN);
+ if(minAmount.compareTo(balance) > 0){
+ throw new FebsException("继续游戏需要"+minAmount+",请先充值");
+ }
+ }
+ }else{
+ BigDecimal minAmount = new BigDecimal(room.getMinAmount()).setScale(2,BigDecimal.ROUND_DOWN);
+ if(minAmount.compareTo(balance) > 0){
+ throw new FebsException("继续游戏需要"+minAmount+",请先充值");
+ }
+ }
+
+ if(ObjectUtil.isNotEmpty(gameRoomChildExist)){
+ apiGamePlayerVo.setPlayerType(gameRoomChildExist.getOwnerState());
+ }else{
+ GameRoomChild gameRoomChild = new GameRoomChild();
+ gameRoomChild.setRoomId(gameRoom.getId());
+ gameRoomChild.setMemberId(memberId);
+ gameRoomChild.setOwnerState(GameRoomChild.OWNER_FALSE);
+ gameRoomChildMapper.insert(gameRoomChild);
+ apiGamePlayerVo.setPlayerType(gameRoomChild.getOwnerState());
+ }
+ apiGamePlayerVo.setBalance(balance);
+ apiGamePlayerVo.setRoomType(gameRoom.getRoomType());
+ apiGamePlayerVo.setRoomId(gameRoom.getId());
+ apiGamePlayerVo.setPassword(gameRoom.getPassword());
+ apiGamePlayerVo.setState(gameRoom.getState());
+ apiGamePlayerVo.setGameTime(gameRoom.getGameTime());
+
+ QueryWrapper<GameGame> gameGameQueryWrapper = new QueryWrapper<>();
+ gameGameQueryWrapper.eq("room_id",gameRoom.getId());
+ gameGameQueryWrapper.orderByDesc("CREATED_TIME");
+ gameGameQueryWrapper.last("limit 5");
+ List<GameGame> gameGames = gameGameMapper.selectList(gameGameQueryWrapper);
+ List<ApiGameGameVo> apiGameGameVos = new ArrayList<>();
+ if(CollUtil.isNotEmpty(gameGames)){
+ for(GameGame gameGame : gameGames){
+ ApiGameGameVo apiGameGameVo = new ApiGameGameVo();
+ apiGameGameVo.setFirstNum(ObjectUtil.isEmpty(gameGame.getFirstNum()) ? 0 : gameGame.getFirstNum());
+ apiGameGameVo.setSecondNum(ObjectUtil.isEmpty(gameGame.getSecondNum()) ? 0 : gameGame.getSecondNum());
+ apiGameGameVo.setState(gameGame.getState());
+ apiGameGameVo.setPerkTime(gameGame.getPerkTime());
+ if(GameGame.STATE_READY == gameGame.getState()){
+ apiGamePlayerVo.setGameId(gameGame.getId());
+ apiGamePlayerVo.setCreatedTime(gameGame.getCreatedTime());
+ }
+ apiGameGameVos.add(apiGameGameVo);
+ }
+ }
+ apiGamePlayerVo.setApiGameGameVos(apiGameGameVos);
+
+ return new FebsResponse().success().data(apiGamePlayerVo);
+ }
+
+ @Override
+ public FebsResponse existGame(ApiExistGameDto apiExistGameDto) {
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+ Long roomId = apiExistGameDto.getRoomId();
+ /**
+ * 删除房间子表的数据
+ */
+ MallMember mallMember = mallMemberMapper.selectById(memberId);
+ QueryWrapper<GameRoomChild> gameRoomChildQueryWrapper = new QueryWrapper<>();
+ gameRoomChildQueryWrapper.eq("room_id",roomId);
+ gameRoomChildQueryWrapper.eq("member_id",memberId);
+ GameRoomChild gameRoomChildExist = gameRoomChildMapper.selectOne(gameRoomChildQueryWrapper);
+ if(ObjectUtil.isEmpty(gameRoomChildExist)){
+ throw new FebsException("房间不存在");
+ }
+ Integer ownerState = gameRoomChildExist.getOwnerState();
+ //如果退出的是房主,那么游戏结束
+ if(GameRoomChild.OWNER_TRUE == ownerState){
+ GameRoom gameRoom = gameRoomMapper.selectById(roomId);
+ if(ObjectUtil.isNotEmpty(gameRoom)){
+ gameRoom.setState(GameRoom.STATE_DONE);
+ gameRoomMapper.updateById(gameRoom);
+
+ this.sendMsgByRoomId(roomId,"OVER");
+ }
+ }
+ //断开websocket
+ WsSessionManager.remove(mallMember.getInviteId());
+
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public FebsResponse flashGame(ApiFlashGameDto apiFlashGameDto) {
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+ Long gameId = apiFlashGameDto.getGameId();
+
+ GameGame gameGame = gameGameMapper.selectById(gameId);
+ if(ObjectUtil.isEmpty(gameGame)){
+ throw new FebsException("游戏已结束");
+ }
+ ApiFlashGameVo apiFlashGameVo = new ApiFlashGameVo();
+ apiFlashGameVo.setRoomId(gameGame.getRoomId());
+ apiFlashGameVo.setFirstNum(gameGame.getFirstNum());
+ apiFlashGameVo.setSecondNum(gameGame.getSecondNum());
+ apiFlashGameVo.setState(gameGame.getState());
+ apiFlashGameVo.setPickOne(gameGame.getPickOne());
+ apiFlashGameVo.setPickTwo(gameGame.getPickTwo());
+ apiFlashGameVo.setPickThree(gameGame.getPickThree());
+ apiFlashGameVo.setPickFour(gameGame.getPickFour());
+ apiFlashGameVo.setPickFive(gameGame.getPickFive());
+ apiFlashGameVo.setPickSix(gameGame.getPickSix());
+
+ return new FebsResponse().success().data(apiFlashGameVo);
+ }
+
+ public static void main(String[] args) {
+ System.out.println(ShareCodeUtil.toSerialNumberCodeTwo(1L));
+ List<GameRoomTypeEnum> roomLists = GameRoomTypeEnum.ROOM_ONE.getRoomList();
+ for(GameRoomTypeEnum gameRoomTypeEnum : roomLists){
+ String amounts = gameRoomTypeEnum.getAmounts();
+ // 使用split方法将字符串按照逗号分割成数组
+ String[] numbersArray = amounts.split(",");
+
+ // 将数组转换成Stream
+ List<BigDecimal> numbersList = Arrays.stream(numbersArray)
+ // 使用map方法将每个字符串元素转换成BigDecimal
+ .map(BigDecimal::new)
+ // 收集到List中
+ .collect(Collectors.toList());
+ numbersList.forEach(System.out::println);
+ }
+ }
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MallMoneyFlowServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MallMoneyFlowServiceImpl.java
index 8d78336..b10d39c 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/MallMoneyFlowServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MallMoneyFlowServiceImpl.java
@@ -41,6 +41,11 @@
}
@Override
+ public void addMoneyFlow(Long memberId, BigDecimal amount, Integer type, String orderNo, String description) {
+ this.addMoneyFlow(memberId, amount, type, orderNo, description, null, null, null, null, null);
+ }
+
+ @Override
public void addMoneyFlow(Long memberId, BigDecimal amount, Integer type, String orderNo, Integer flowType, Integer isReturn) {
this.addMoneyFlow(memberId, amount, type, orderNo, null, null, null, null, flowType, isReturn);
}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallMemberVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallMemberVo.java
index 802aa01..88991ae 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallMemberVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallMemberVo.java
@@ -102,6 +102,7 @@
private Integer isFrozen;//是否冻结 1:是 0 :否
+ private BigDecimal balance;
private BigDecimal staticNft;
private BigDecimal trendsNft;
private BigDecimal frozenNft;
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiCreateRoomVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiCreateRoomVo.java
new file mode 100644
index 0000000..1968b3c
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiCreateRoomVo.java
@@ -0,0 +1,23 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ApiCreateRoomVo", description = "信息返回类")
+public class ApiCreateRoomVo {
+
+ @ApiModelProperty(value = "房间ID")
+ private Long roomId;
+
+ @ApiModelProperty(value = "房间类型 1-初级房2-土豪房3-尊爵房")
+ private Integer roomType;//房间类型 1-初级房2-土豪房3-尊爵房
+
+ @ApiModelProperty(value = "房间状态0-未开始1-正常2-结束")
+ private Integer state;//房间状态0-未开始1-正常2-结束
+
+ @ApiModelProperty(value = "房间唯一编码,自动生成")
+ private String password;//房间密码(房间唯一编码,自动生成)
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiEndGameVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiEndGameVo.java
new file mode 100644
index 0000000..87c872d
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiEndGameVo.java
@@ -0,0 +1,14 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ApiEndGameVo", description = "信息返回类")
+public class ApiEndGameVo {
+
+ @ApiModelProperty(value = "房间ID")
+ private Long roomId;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiFlashGameVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiFlashGameVo.java
new file mode 100644
index 0000000..c8952ed
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiFlashGameVo.java
@@ -0,0 +1,45 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@ApiModel(value = "ApiFlashGameVo", description = "信息返回类")
+public class ApiFlashGameVo {
+
+ @ApiModelProperty(value = "房间ID")
+ private Long roomId;//
+
+ @ApiModelProperty(value = "第一个数")
+ private Integer firstNum;//第一个数
+
+ @ApiModelProperty(value = "第二个数")
+ private Integer secondNum;//第二个数
+
+
+ @ApiModelProperty(value = "1-等待投注中 2-结束投注(10秒倒计时,结束投注) 3-结算中 4-已结算")
+ private Integer state;
+
+
+ @ApiModelProperty(value = "投注1的总金额")
+ private BigDecimal pickOne;//投注1的总金额
+
+ @ApiModelProperty(value = "投注2的总金额")
+ private BigDecimal pickTwo;
+
+ @ApiModelProperty(value = "投注3的总金额")
+ private BigDecimal pickThree;
+
+ @ApiModelProperty(value = "投注4的总金额")
+ private BigDecimal pickFour;
+
+ @ApiModelProperty(value = "投注5的总金额")
+ private BigDecimal pickFive;
+
+ @ApiModelProperty(value = "投注6的总金额")
+ private BigDecimal pickSix;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiGameGameVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiGameGameVo.java
new file mode 100644
index 0000000..4b58173
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiGameGameVo.java
@@ -0,0 +1,27 @@
+package cc.mrbird.febs.mall.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@ApiModel(value = "ApiGameGameVo", description = "信息返回类")
+public class ApiGameGameVo {
+
+ @ApiModelProperty(value = "第一个数")
+ private Integer firstNum;//第一个数
+
+ @ApiModelProperty(value = "第二个数")
+ private Integer secondNum;//第二个数
+
+ @ApiModelProperty(value = "房间状态1-等待投注中 2-结束投注(10秒倒计时,结束投注) 3-结算中 4-已结算")
+ private Integer state;//1-等待投注中 2-结束投注(10秒倒计时,结束投注) 3-结算中 4-已结算
+
+ @ApiModelProperty(value = "时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date perkTime;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiGamePlayerVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiGamePlayerVo.java
new file mode 100644
index 0000000..7faa634
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiGamePlayerVo.java
@@ -0,0 +1,48 @@
+package cc.mrbird.febs.mall.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+@Data
+@ApiModel(value = "ApiGamePlayerVo", description = "信息返回类")
+public class ApiGamePlayerVo {
+
+ @ApiModelProperty(value = "房间ID")
+ private Long roomId;
+
+ @ApiModelProperty(value = "当前局游戏ID")
+ private Long gameId;
+
+ @ApiModelProperty(value = "身份类型 1-房主 2-玩家")
+ private Integer playerType;//房间类型 1-初级房2-土豪房3-尊爵房
+
+ @ApiModelProperty(value = "余额")
+ private BigDecimal balance;
+
+ @ApiModelProperty(value = "时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createdTime;
+
+ @ApiModelProperty(value = "一局游戏时长")
+ private Integer gameTime;
+
+ @ApiModelProperty(value = "房间类型 1-初级房2-土豪房3-尊爵房")
+ private Integer roomType;//房间类型 1-初级房2-土豪房3-尊爵房
+
+ @ApiModelProperty(value = "房间状态0-未开始1-正常2-结束")
+ private Integer state;//房间状态0-未开始1-正常2-结束
+
+ @ApiModelProperty(value = "房间唯一编码,自动生成")
+ private String password;//房间密码(房间唯一编码,自动生成)
+
+ @ApiModelProperty(value = "历史开奖记录目前是5局")
+ private List<ApiGameGameVo> apiGameGameVos;//房间密码(房间唯一编码,自动生成)
+
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiNextGameVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiNextGameVo.java
new file mode 100644
index 0000000..e411fb9
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiNextGameVo.java
@@ -0,0 +1,47 @@
+package cc.mrbird.febs.mall.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+@Data
+@ApiModel(value = "ApiNextGameVo", description = "信息返回类")
+public class ApiNextGameVo {
+
+ @ApiModelProperty(value = "房间ID")
+ private Long roomId;
+
+ @ApiModelProperty(value = "当前局游戏ID")
+ private Long gameId;
+
+ @ApiModelProperty(value = "身份类型 1-房主 2-玩家")
+ private Integer playerType;//房间类型 1-初级房2-土豪房3-尊爵房
+
+ @ApiModelProperty(value = "余额")
+ private BigDecimal balance;
+
+ @ApiModelProperty(value = "时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createdTime;
+
+ @ApiModelProperty(value = "一局游戏时长")
+ private Integer gameTime;
+
+ @ApiModelProperty(value = "房间类型 1-初级房2-土豪房3-尊爵房")
+ private Integer roomType;//房间类型 1-初级房2-土豪房3-尊爵房
+
+ @ApiModelProperty(value = "房间状态0-未开始1-正常2-结束")
+ private Integer state;//房间状态0-未开始1-正常2-结束
+
+ @ApiModelProperty(value = "房间唯一编码,自动生成")
+ private String password;//房间密码(房间唯一编码,自动生成)
+
+ @ApiModelProperty(value = "历史开奖记录目前是5局")
+ private List<ApiGameGameVo> apiGameGameVos;//房间密码(房间唯一编码,自动生成)
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiRegisterVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiRegisterVo.java
index 5a5302a..8bcc96e 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/ApiRegisterVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiRegisterVo.java
@@ -11,7 +11,7 @@
@ApiModelProperty(value = "账号")
private String account;
- @ApiModelProperty(value = "密钥")
+ @ApiModelProperty(value = "密码")
private String userKey;
}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiStartGameVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiStartGameVo.java
new file mode 100644
index 0000000..ed5b9ef
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiStartGameVo.java
@@ -0,0 +1,29 @@
+package cc.mrbird.febs.mall.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@ApiModel(value = "ApiStartGameVo", description = "返回参数类")
+public class ApiStartGameVo {
+
+ @ApiModelProperty(value = "房间ID")
+ private Long roomId;
+
+ @ApiModelProperty(value = "房间类型 1-初级房2-土豪房3-尊爵房")
+ private Integer roomType;//房间类型 1-初级房2-土豪房3-尊爵房
+
+ @ApiModelProperty(value = "房间状态0-未开始1-正常2-结束")
+ private Integer state;//房间状态0-未开始1-正常2-结束
+
+ @ApiModelProperty(value = "房间唯一编码,自动生成")
+ private String password;//房间密码(房间唯一编码,自动生成)
+
+ @ApiModelProperty(value = "时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createdTime;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
index 6b1070f..4dd994d 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
@@ -16,32 +16,14 @@
@ApiModelProperty(value = "id")
private Long id;
+ @ApiModelProperty(value = "memberId")
+ private Long memberId;
+
@ApiModelProperty(value = "登录账号")
private String accountLogin;
- @ApiModelProperty(value = "头像")
- private String avatar;
-
- @ApiModelProperty(value = "用户名")
- private String name;
-
- @ApiModelProperty(value = "手机号")
- private String phone;
-
@ApiModelProperty(value = "邀请码")
private String inviteId;
-
- @ApiModelProperty(value = "代理层级")
- private String level;
-
- @ApiModelProperty(value = "代理等级")
- private String levelName;
-
- @ApiModelProperty(value = "推荐人昵称")
- private String referrerName;
-
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
- private Date createdTime;
/**
* 账户状态;1-正常 2-禁用
@@ -50,79 +32,13 @@
public static final int ACCOUNTSTATUS_Y = 1;
public static final int ACCOUNTSTATUS_N = 2;
- @ApiModelProperty(value = "是否设置收款信息", example = "1是2否")
- private Integer hasPayment = 2;
-
- /**
- * 董事
- */
- @ApiModelProperty(value = "是否为董事 1-是 2-否")
- private Integer director;
-
- /**
- * 董事
- */
- @ApiModelProperty(value = "是否为节点 1-是 2-否")
+ @ApiModelProperty(value = "是否为代理 1-是 2-否")
private Integer partner;
-
- /**
- * 店长
- */
- @ApiModelProperty(value = "是否店长 1-是 2-否")
- private Integer storeMaster;
-
- @ApiModelProperty(value = "内转标识 1:开启 2:关闭")
- private Integer insideWith;
-
- @ApiModelProperty(value = "GFD")
- private BigDecimal gsd;//GFD
- @ApiModelProperty(value = "静态NFT")
- private BigDecimal staticNft;//静态NFT
- @ApiModelProperty(value = "动态NFT")
- private BigDecimal trendsNft;//动态NFT
- @ApiModelProperty(value = "冻结NFT")
- private BigDecimal frozenNft;//冻结NFT
- @ApiModelProperty(value = "FCM代币可用")
- private BigDecimal fcmCntAva;//FCM代币可用
- @ApiModelProperty(value = "FCM代币冻结")
- private BigDecimal fcmCntFrozen;//FCM代币冻结
- @ApiModelProperty(value = "令牌可用")
- private BigDecimal tokenAva;//令牌可用
- @ApiModelProperty(value = "令牌冻结")
- private BigDecimal tokenFrozen;//令牌冻结
- @ApiModelProperty(value = "FCM提现收续费")
- private BigDecimal outFcmFee;//FCM提现收续费
- @ApiModelProperty(value = "FCM提现最小数量")
- private BigDecimal outFcmMin;//FCM提现收续费
- @ApiModelProperty(value = "NFT提现收续费")
- private BigDecimal nftFee;//FCM提现收续费
- @ApiModelProperty(value = "NFT提现最小数量")
- private BigDecimal nftMin;//FCM提现收续费
- @ApiModelProperty(value = "FCM价格")
- private BigDecimal fcmPrice;//FCM价格
- @ApiModelProperty(value = "预约开始时间")
- private String startTime;//FCM价格
- @ApiModelProperty(value = "预约结束时间")
- private String endTime;//FCM价格
- @ApiModelProperty(value = "解冻收费FCM")
- private BigDecimal unfrozenCnt;//FCM提现收续费
@ApiModelProperty(value = "是否冻结 1:是 0 :否")
private Integer isFrozen;
- @ApiModelProperty(value = "已排单")
- private Integer pickCount;
- @ApiModelProperty(value = "支付后,确认倒计时的分钟数,60,为paytime开始计算60分钟的倒计时")
- private Integer minuteCnt;
- @ApiModelProperty(value = "收益总额")
- private BigDecimal totalPerk;
- @ApiModelProperty(value = "卡牌互转手续费")
- private String insideNFTPercent;
- @ApiModelProperty(value = "充值地址")
- private String chargeAddress;
- @ApiModelProperty(value = "最小提现金额")
- private BigDecimal withdrawAmount;
- @ApiModelProperty(value = "USDT价格")
- private BigDecimal usdtPrice;
+ @ApiModelProperty(value = "余额")
+ private BigDecimal balance;
}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MoneyFlowVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MoneyFlowVo.java
index 666ffd7..86e5ae2 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/MoneyFlowVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/MoneyFlowVo.java
@@ -25,9 +25,6 @@
@ApiModelProperty(value = "类型")
private Integer type;
- @ApiModelProperty(value = "流水类型 1-FCM代币 2-令牌 3-NFT")
- private Integer flowType;
-
@ApiModelProperty(value = "提现状态 1-提现中2-成功 3-拒绝")
private String description;
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MyFcmTeamVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MyFcmTeamVo.java
index 903d677..ff19d92 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/MyFcmTeamVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/MyFcmTeamVo.java
@@ -11,36 +11,19 @@
@ApiModel(value = "MyFcmTeamVo", description = "我的团队返回参数类")
public class MyFcmTeamVo {
- @ApiModelProperty(value = "ID")
- private Long memberId;
-
- @ApiModelProperty(value = "是否冻结 1:是 0 :否")
- private Integer isFrozen;
-
@ApiModelProperty(value = "账号")
private String accountLogin;
- @ApiModelProperty(value = "代理等级")
- private String levelName;
+ @ApiModelProperty(value = "总充值")
+ private BigDecimal chargeAmount;
- @ApiModelProperty(value = "个人买入总额")
- private BigDecimal myAchieveBuy;
+ @ApiModelProperty(value = "余额")
+ private BigDecimal balance;
- @ApiModelProperty(value = "个人卖出总额")
- private BigDecimal myAchieveSell;
+ @ApiModelProperty(value = "总投入")
+ private BigDecimal amountBuy;
- @ApiModelProperty(value = "团队买入总额")
- private BigDecimal myTeamAchieveBuy;
+ @ApiModelProperty(value = "盈亏")
+ private BigDecimal amountPerk;
- @ApiModelProperty(value = "团队卖出总额")
- private BigDecimal myTeamAchieveSell;
-
- @ApiModelProperty(value = "团队总单量")
- private int myTeamOrderCnt;
-
- @ApiModelProperty(value = "团队总人数")
- private int myTeamMemberCnt;
-
- @ApiModelProperty(value = "团队列表")
- private List<MyFcmTeamVo> team;
}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MyTeamVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MyTeamVo.java
index 0bd7bfc..b95447c 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/MyTeamVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/MyTeamVo.java
@@ -11,15 +11,10 @@
@ApiModel(value = "MyTeamVo", description = "我的团队返回参数类")
public class MyTeamVo {
- @ApiModelProperty(value = "我的业绩")
+ @ApiModelProperty(value = "总充值")
private BigDecimal myAchieve;
- @ApiModelProperty(value = "我的团队业绩")
- private BigDecimal myTeamAchieve;
-
- @ApiModelProperty(value = "团队数量")
+ @ApiModelProperty(value = "团队人数")
private int myTeamCnt;
- @ApiModelProperty(value = "团队列表")
- private List<TeamListVo> team;
}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/RoomTypeVo.java b/src/main/java/cc/mrbird/febs/mall/vo/RoomTypeVo.java
new file mode 100644
index 0000000..3a2ca1e
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/RoomTypeVo.java
@@ -0,0 +1,24 @@
+package cc.mrbird.febs.mall.vo;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2022-05-09
+ **/
+@Data
+@ApiModel(value = "ScoreSignVo", description = "积分签到返回参数接口")
+public class RoomTypeVo {
+
+ private String roomName;//名称
+ private Integer roomType;//房间类型 1-初级房2-土豪房3-尊爵房
+ private BigDecimal roomAmount;//进入最小金额
+ private BigDecimal minAmount;//投注最小金额
+ private BigDecimal maxAmount;//投注最大金额
+
+ private List<BigDecimal> amounts;//投注金额
+}
diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml
index c518266..90be1d0 100644
--- a/src/main/resources/mapper/modules/MallMemberMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -537,19 +537,12 @@
<select id="getFcmMallMemberList" resultType="cc.mrbird.febs.mall.vo.AdminMallMemberVo">
SELECT
m.*,
- b.static_nft staticNft,
- b.trends_nft trendsNft,
- b.frozen_nft frozenNft,
- b.fcm_cnt_ava fcmCntAva,
- b.fcm_cnt_frozen fcmCntFrozen,
- b.token_ava tokenAva,
- b.total_perk totalPerk,
- b.token_frozen tokenFrozen,
+ b.balance balance,
a.account_login referrerName,
d.description levelName
FROM mall_member m
left join mall_member a on m.referrer_id = a.invite_id
- left join mall_member_amount b on b.member_id = m.id
+ left join mall_member_wallet b on b.member_id = m.id
LEFT JOIN data_dictionary_custom d on d.code = m.level and d.type = m.level
<where>
<if test="record != null" >
@@ -583,7 +576,7 @@
<select id="getMallmemberAmountByMemberId" resultType="cc.mrbird.febs.mall.vo.MallMemberVo">
SELECT a.*
- FROM mall_member_amount a
+ FROM mall_member_wallet a
where a.member_id = #{memberId}
</select>
diff --git a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
index 5fbfb09..b452352 100644
--- a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
+++ b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
@@ -47,23 +47,8 @@
a.*
from mall_money_flow a
<where>
- and a.type != 16
- and a.type != 19
- and a.type != 20
- <if test="record.inOrOut == 3">
- and a.amount > 0
- </if>
- <if test="record.inOrOut == 2">
- and 0 > a.amount
- </if>
<if test="record.memberId != null">
and a.member_id=#{record.memberId}
- </if>
- <if test="record.flowType != null and record.flowType != ''">
- and a.flow_type=#{record.flowType}
- </if>
- <if test="record.type != null and record.type != ''">
- and a.type=#{record.type}
</if>
</where>
order by a.created_time desc
@@ -303,4 +288,25 @@
</where>
order by a.created_time desc
</select>
+
+ <select id="selectSumAmountByMemberIdAndType" resultType="java.math.BigDecimal">
+ select
+ ifnull(sum(amount),0)
+ from mall_money_flow
+ where
+ type = #{type}
+ and member_id IN
+ <foreach collection = "list" item = "item" separator="," open = "(" close = ")" >
+ #{item}
+ </foreach >
+ </select>
+
+ <select id="selectSumByMemberIdAndType" resultType="java.math.BigDecimal">
+ select
+ ifnull(sum(amount),0)
+ from mall_money_flow
+ where
+ type = #{type}
+ and member_id = #{memberId}
+ </select>
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
index f365cbe..f6b2577 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
@@ -13,43 +13,6 @@
<input type="text" placeholder="登录账户" name="accountLogin" autocomplete="off" class="layui-input">
</div>
</div>
- <div class="layui-inline">
- <label class="layui-form-label">名称:</label>
- <div class="layui-input-inline">
- <input type="text" placeholder="名称" name="name" autocomplete="off" class="layui-input">
- </div>
- </div>
- <div class="layui-inline">
- <label class="layui-form-label">账号:</label>
- <div class="layui-input-inline">
- <input type="text" placeholder="手机号码/邀请码" name="account" autocomplete="off" class="layui-input">
- </div>
- </div>
- <div class="layui-inline">
- <label class="layui-form-label">账户状态:</label>
- <div class="layui-input-inline">
- <select name="accountStatus">
- <option value="">请选择</option>
- <option value="1">正常</option>
- <option value="2">禁用</option>
- </select>
- </div>
- </div>
- <div class="layui-inline">
- <label class="layui-form-label">会员类型:</label>
- <div class="layui-input-inline">
- <select name="level">
- <option value="">请选择</option>
- <option value="ZERO_LEVEL">普通会员</option>
- <option value="SECOND_LEVEL">1星</option>
- <option value="THIRD_LEVEL">2星</option>
- <option value="FOUR_LEVEL">3星</option>
- <option value="FIFTH_LEVEL">4星</option>
- <option value="SIX_LEVEL">5星</option>
- <option value="SEVEN_LEVEL">6星</option>
- </select>
- </div>
- </div>
</div>
</div>
<div class="layui-col-md2 layui-col-sm12 layui-col-xs12 table-action-area">
@@ -81,46 +44,11 @@
<input type="checkbox" value={{d.id}} lay-text="正常|禁用" lay-skin="switch" lay-filter="switchStatus">
{{# } }}
</script>
-<script type="text/html" id="switchStoreMaster">
- {{# if(d.storeMaster === 1) { }}
- <input type="checkbox" value={{d.id}} lay-text="是|否" checked lay-skin="switch" lay-filter="switchStoreMaster">
- {{# } else { }}
- <input type="checkbox" value={{d.id}} lay-text="是|否" lay-skin="switch" lay-filter="switchStoreMaster">
- {{# } }}
-</script>
-<script type="text/html" id="switchDirector">
- {{# if(d.director === 1) { }}
- <input type="checkbox" value={{d.id}} lay-text="是|否" checked lay-skin="switch" lay-filter="switchDirector">
- {{# } else { }}
- <input type="checkbox" value={{d.id}} lay-text="是|否" lay-skin="switch" lay-filter="switchDirector">
- {{# } }}
-</script>
-<script type="text/html" id="switchCreate">
- {{# if(d.creater === 1) { }}
- <input type="checkbox" value={{d.id}} lay-text="是|否" checked lay-skin="switch" lay-filter="switchCreate">
- {{# } else { }}
- <input type="checkbox" value={{d.id}} lay-text="是|否" lay-skin="switch" lay-filter="switchCreate">
- {{# } }}
-</script>
<script type="text/html" id="switchPartner">
{{# if(d.partner === 1) { }}
<input type="checkbox" value={{d.id}} lay-text="是|否" checked lay-skin="switch" lay-filter="switchPartner">
{{# } else { }}
<input type="checkbox" value={{d.id}} lay-text="是|否" lay-skin="switch" lay-filter="switchPartner">
- {{# } }}
-</script>
-<script type="text/html" id="switchInsideWith">
- {{# if(d.insideWith === 1) { }}
- <input type="checkbox" value={{d.id}} lay-text="是|否" checked lay-skin="switch" lay-filter="switchInsideWith">
- {{# } else { }}
- <input type="checkbox" value={{d.id}} lay-text="是|否" lay-skin="switch" lay-filter="switchInsideWith">
- {{# } }}
-</script>
-<script type="text/html" id="switchOutsideWith">
- {{# if(d.outsideWith === 1) { }}
- <input type="checkbox" value={{d.id}} lay-text="是|否" checked lay-skin="switch" lay-filter="switchOutsideWith">
- {{# } else { }}
- <input type="checkbox" value={{d.id}} lay-text="是|否" lay-skin="switch" lay-filter="switchOutsideWith">
{{# } }}
</script>
<script type="text/html" id="switchFrozenWith">
@@ -137,15 +65,8 @@
</style>
<script type="text/html" id="tableMemberBar">
<div class="layui-btn-container">
-<!-- <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="exportMember">导出会员信息</button>-->
- <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="addMember:update" lay-event="registMember">添加会员</button>
- <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="mallSystemPay:update" lay-event="balance">拨付动态卡牌</button>
- <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="mallSystemPay:update" lay-event="score">拨付代币可用</button>
- <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="mallSystemPay:update" lay-event="prizeScore">拨付宝石可用</button>
+ <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="mallSystemPay:update" lay-event="balance">拨付葫芦</button>
<button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="resetPwd:update" lay-event="resetPwd">重置登录密码</button>
- <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="resetPwd:update" lay-event="resetPayPwd">重置支付密码</button>
-<!-- <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="agentLevelSet:update" lay-event="agentLevel">设置代理等级</button>-->
-<!-- <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="voucherUpdate:update" lay-event="voucherUpdate">拨付绿色凭证</button>-->
</div>
</script>
<!-- 表格操作栏 end -->
@@ -178,46 +99,6 @@
table.on('tool(userTable)', function (obj) {
var data = obj.data,
layEvent = obj.event;
-
- if (layEvent === 'close') {
- febs.modal.confirm('禁用', '确认禁用该账号?', function () {
- closeAccount(data.id);
- });
- }
- if (layEvent === 'open') {
- febs.modal.confirm('开启', '确认开启该账号?', function () {
- openAccount(data.id);
- });
- }
-
- if (layEvent === 'see') {
- febs.modal.open( '个人信息', 'modules/mallMember/detail/' + data.id, {
- btn: ['提交', '取消'],
- yes: function (index, layero) {
- $('#user-update').find('#submit').trigger('click');
- },
- btn2: function () {
- layer.closeAll();
- }
- });
- }
- if (layEvent === 'moneyFlow') {
- febs.modal.open( '用户资金流水', 'modules/mallMember/moneyFlow/' + data.id, {
- maxmin: true,
- });
- }
-
- if (layEvent == 'updateReferer') {
- febs.modal.open( '修改推荐人', 'modules/mallMember/updateReferer/' + data.id, {
- btn: ['提交', '取消'],
- yes: function (index, layero) {
- $('#referer-update').find('#submit').trigger('click');
- },
- btn2: function () {
- layer.closeAll();
- }
- });
- }
});
function frozenWithYes(id) {
@@ -293,7 +174,7 @@
// 查询按钮
$query.on('click', function () {
var params = $.extend(getQueryParams(), {field: sortObject.field, order: sortObject.type});
- tableIns.reload({where: params, page: {curr: currPageGoods}});
+ tableIns.reload({where: params, page: {curr: 1}});
});
// 刷新按钮
@@ -318,21 +199,8 @@
{field: 'accountLogin', title: '登录账户', minWidth: 150,align:'left'},
{field: 'inviteId', title: '邀请码', minWidth: 100,align:'left'},
{field: 'referrerName', title: '推荐人', minWidth: 100,align:'left'},
- {field: 'staticNft', title: '静态卡牌', minWidth: 120,align:'left'},
- {field: 'trendsNft', title: '动态卡牌', minWidth: 120,align:'left'},
- {field: 'totalPerk', title: '封存卡牌', minWidth: 120,align:'left'},
- // {field: 'frozenNft', title: '冻结卡牌', minWidth: 120,align:'left'},
- {field: 'fcmCntAva', title: '代币可用', minWidth: 120,align:'left'},
- {field: 'fcmCntFrozen', title: '代币冻结', minWidth: 120,align:'left'},
- {field: 'tokenAva', title: '宝石可用', minWidth: 120,align:'left'},
- {field: 'tokenFrozen', title: '宝石冻结', minWidth: 120,align:'left'},
- {field: 'levelName', title: '会员类型', minWidth: 100,align:'left'},
- // {field: 'storeMaster', title: '线下服务中心', templet:'#switchStoreMaster', minWidth: 120,align:'left',hide:toolbarMallmember},
- // {field: 'director', title: '代理商', templet:'#switchDirector', minWidth: 120,align:'left' ,hide:toolbarMallmember},
- // {field: 'creater', title: '联创', templet:'#switchCreate', minWidth: 120,align:'left' ,hide:toolbarMallmember},
- {field: 'partner', title: '节点', templet:'#switchPartner', minWidth: 120,align:'left' ,hide:toolbarMallmember},
- // {field: 'insideWith', title: '是否内转', templet:'#switchInsideWith', minWidth: 120,align:'left' ,hide:toolbarMallmember},
- // {field: 'outsideWith', title: '是否提现', templet:'#switchOutsideWith', minWidth: 120,align:'left' ,hide:toolbarMallmember},
+ {field: 'balance', title: '葫芦', minWidth: 100,align:'left'},
+ {field: 'partner', title: '代理', templet:'#switchPartner', minWidth: 120,align:'left' ,hide:toolbarMallmember},
{field: 'isFrozen', title: '是否冻结', templet:'#switchFrozenWith', minWidth: 120,align:'left' ,hide:toolbarMallmember},
{field: 'accountType', title: '账号类型',
templet: function (d) {
@@ -346,15 +214,7 @@
}, minWidth: 100,align:'left'},
{field: 'accountStatus', title: '账号状态', templet: '#switchStatus', minWidth: 100,align:'left',hide:toolbarMallmember},
{field: 'createdTime', title: '注册时间', minWidth: 180,align:'left'},
- // {title: '操作',
- // templet: function (d) {
- // // '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="see" shiro:hasPermission="user:update">详情</button>'
- // return '<button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="moneyFlow:update" lay-event="moneyFlow">资金流水</button>'
- // + '<button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="user:update" lay-event="updateReferer">修改推荐人</button>'
- // // '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="moneyFlow" shiro:hasPermission="moneyFlow:update">资金流水</button>'
- // // + '<button class="layui-btn layui-btn-normal layui-btn-xs" type="button" lay-event="updateReferer" shiro:hasPermission="user:update">修改推荐人</button>'
- // },minWidth: 200,align:'center', fixed:"right"}
- {title: '操作', minWidth: 200 ,toolbar: '#mallmember-option',hide:toolbarMallmember,align:'left', fixed:'right'}
+ // {title: '操作', minWidth: 200 ,toolbar: '#mallmember-option',hide:toolbarMallmember,align:'left', fixed:'right'}
]]
});
}
@@ -366,27 +226,6 @@
if (layEvent === 'exportMember') {
window.location.href = ctx + "admin/mallMember/exportMember";
}
-
- if (layEvent === 'registMember') {
-
- febs.modal.open( '添加会员', 'modules/mallMember/addMember', {
- btn: ['提交', '取消'],
- yes: function (index, layero) {
- $('#member-add').find('#submit').trigger('click');
- },
- btn2: function () {
- layer.closeAll();
- }
- });
-
- return;
- }
-
- // var checkData = table.checkStatus('userTable').data;
- // if (checkData.length <= 0) {
- // febs.alert.warn('请选择需要的用户');
- // return;
- // }
if (layEvent === 'resetPwd') {
var checkData = table.checkStatus('userTable').data;
@@ -403,22 +242,6 @@
});
}
- if (layEvent === 'resetPayPwd') {
- var checkData = table.checkStatus('userTable').data;
- if (checkData.length <= 0) {
- febs.alert.warn('请选择需要的用户');
- return;
- }
- febs.modal.confirm('重置交易密码', '是否重置选中账号交易密码为【123456】?', function () {
- var ids = [];
- layui.each(checkData, function (key, item) {
- ids.push(item.id)
- });
-
- resetPwd(ids.join(','), 1);
- });
- }
-
if (layEvent === 'balance') {
var checkData = table.checkStatus('userTable').data;
if (checkData.length <= 0) {
@@ -429,81 +252,9 @@
febs.alert.warn('只能选择一个用户');
return;
}
- systemPay("动态卡牌", checkData[0].id, 1);
- }
-
- if (layEvent === 'voucherUpdate') {
- var checkData = table.checkStatus('userTable').data;
- if (checkData.length <= 0) {
- febs.alert.warn('请选择需要的用户');
- return;
- }
- if (checkData.length > 1) {
- febs.alert.warn('请选择一个用户');
- return;
- }
- voucherUpdate("拨付绿色凭证", checkData[0].id, 1);
- }
-
- if (layEvent === 'score') {
- var checkData = table.checkStatus('userTable').data;
- if (checkData.length <= 0) {
- febs.alert.warn('请选择需要的用户');
- return;
- }
- if (checkData.length > 1) {
- febs.alert.warn('请选择一个用户');
- return;
- }
- systemPay("代币可用", checkData[0].id, 2);
- }
-
- if (layEvent === 'prizeScore') {
- var checkData = table.checkStatus('userTable').data;
- if (checkData.length <= 0) {
- febs.alert.warn('请选择需要的用户');
- return;
- }
- if (checkData.length > 1) {
- febs.alert.warn('请选择一个用户');
- return;
- }
- systemPay("宝石可用", checkData[0].id, 3);
- }
-
- if (layEvent === 'agentLevel') {
- var checkData = table.checkStatus('userTable').data;
- if (checkData.length <= 0) {
- febs.alert.warn('请选择需要的用户');
- return;
- }
- if (checkData.length > 1) {
- febs.alert.warn('请选择一个用户');
- return;
- }
- febs.modal.open('设置代理级别', 'modules/mallMember/agentLevelSet/' + checkData[0].id, {
- btn: ['确认', '取消'],
- yes: function (index, layero) {
- $('#agent-level-set').find('#submit').trigger('click');
- },
- btn2: function () {
- layer.closeAll();
- }
- });
+ systemPay("葫芦", checkData[0].id, 1);
}
});
-
- function voucherUpdate(text, id, type) {
- febs.modal.open(text, 'modules/mallMember/voucherUpdate/' + type +'/'+ id, {
- btn: ['提交', '取消'],
- yes: function (index, layero) {
- $('#voucher-update').find('#submit').trigger('click');
- },
- btn2: function () {
- layer.closeAll();
- }
- });
- }
function systemPay(text, id, type) {
febs.modal.open(text, 'modules/mallMember/mallSystemPay/' + type +'/'+ id, {
@@ -520,29 +271,10 @@
// 获取查询参数
function getQueryParams() {
return {
- name: $searchForm.find('input[name="name"]').val().trim(),
- account: $searchForm.find('input[name="account"]').val().trim(),
accountLogin: $searchForm.find('input[name="accountLogin"]').val().trim(),
- accountStatus: $searchForm.find("select[name='accountStatus']").val(),
- level: $searchForm.find("select[name='level']").val(),
};
}
- form.on('switch(switchInsideWith)', function (data) {
- if (data.elem.checked) {
- insideWithYes(data.value);
- } else {
- insideWithNo(data.value);
- }
- })
-
- form.on('switch(switchOutsideWith)', function (data) {
- if (data.elem.checked) {
- outsideWithYes(data.value);
- } else {
- outsideWithNo(data.value);
- }
- })
form.on('switch(switchFrozenWith)', function (data) {
if (data.elem.checked) {
frozenWithYes(data.value);
@@ -556,30 +288,6 @@
openAccount(data.value);
} else {
closeAccount(data.value);
- }
- })
-
- form.on('switch(switchStoreMaster)', function (data) {
- if (data.elem.checked) {
- changeIdentityYes(2, data.value);
- } else {
- changeIdentityNo(2, data.value);
- }
- })
-
- form.on('switch(switchDirector)', function (data) {
- if (data.elem.checked) {
- changeIdentityYes(1, data.value);
- } else {
- changeIdentityNo(1, data.value);
- }
- })
-
- form.on('switch(switchCreate)', function (data) {
- if (data.elem.checked) {
- changeIdentityYes(3, data.value);
- } else {
- changeIdentityNo(3, data.value);
}
})
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/mallSystemPay.html b/src/main/resources/templates/febs/views/modules/mallMember/mallSystemPay.html
index 30ea085..ad15fb2 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/mallSystemPay.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/mallSystemPay.html
@@ -75,23 +75,23 @@
function initUserValue() {
var balance;
if (type == 1) {
- balance = systemPay.trendsNft
+ balance = systemPay.balance
} else if (type == 2) {
- balance = systemPay.fcmCntAva
+ balance = systemPay.balance
} else if (type ==3) {
- balance = systemPay.tokenAva
+ balance = systemPay.balance
} else {
}
form.val("systemPay-update-form", {
- "id": systemPay.id,
+ "id": systemPay.memberId,
"balance": balance,
});
}
form.on('submit(systemPay-update-form-submit)', function (data) {
data.field.type = type;
- febs.post(ctx + 'admin/mallMember/updateSystemPayInfo', data.field, function () {
+ febs.post(ctx + 'admin/mallMember/updateSystemPay', data.field, function () {
layer.closeAll();
febs.alert.success('操作成功');
$('#febs-member-list').find('#reset').click();
diff --git a/src/test/java/cc/mrbird/febs/AgentTest.java b/src/test/java/cc/mrbird/febs/AgentTest.java
index 220c1b1..8de92ef 100644
--- a/src/test/java/cc/mrbird/febs/AgentTest.java
+++ b/src/test/java/cc/mrbird/febs/AgentTest.java
@@ -5,10 +5,12 @@
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.utils.LoginUserUtil;
import cc.mrbird.febs.mall.dto.AgentLevelUpdateDto;
+import cc.mrbird.febs.mall.dto.ApiCreateRoomDto;
import cc.mrbird.febs.mall.dto.ApiMallActWinDetailsDto;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.*;
import cc.mrbird.febs.mall.quartz.ProfitJob;
+import cc.mrbird.febs.mall.service.GameService;
import cc.mrbird.febs.mall.service.IAgentService;
import cc.mrbird.febs.mall.vo.ApiMallActWinDetailsVo;
import cc.mrbird.febs.mall.vo.ApiMallAwardDetailsVo;
@@ -39,590 +41,19 @@
@SpringBootTest
public class AgentTest {
-// @Autowired
-// private AgentProducer agentProducer;
-//
-// @Autowired
-// private DataDictionaryCustomMapper dataDictionaryCustomMapper;
-//
-// @Autowired
-// private IAgentService agentService;
-//
-// @Autowired
-// private MallGoodsStyleMapper mallGoodsStyleMapper;
-//
-// @Autowired
-// private MallActAwardSetMapper mallActAwardSetMapper;
-// @Autowired
-// private MallMemberMapper mallMemberMapper;
-// @Autowired
-// private MallActWinRecordMapper mallActWinRecordMapper;
-// @Autowired
-// private MallActLuckdrawRecordMapper mallActLuckdrawRecordMapper;
-// @Autowired
-// private MallMemberWalletMapper mallMemberWalletMapper;
-// @Autowired
-// private MallActSetMapper mallActSetMapper;
-// @Test
-// public void skusTest() {
-// ApiMallAwardDetailsVo apiMallAwardDetailsVo = new ApiMallAwardDetailsVo();
-// Long memberId = 4L;
-// Long actId = 1L;
-// MallMember mallMember = mallMemberMapper.selectById(memberId);
-// if(ObjectUtil.isEmpty(mallMember)){
-// throw new FebsException("用户不存在");
-// }
-//
-// MallActSet mallActSet = mallActSetMapper.selectById(actId);
-// if(ObjectUtil.isEmpty(mallActSet)){
-// throw new FebsException("活动不存在");
-// }
-// Integer actStatus = mallActSet.getActStatus();
-// if(MallActSet.ACT_STATUS_DISABLED == actStatus){
-// throw new FebsException("活动还没开始");
-// }
-// /**
-// * 获取用户积分数,判断能不能抽奖
-// * 减少对应的积分数量
-// * 较少奖品的已抽奖
-// * 生成一条抽奖记录
-// */
-//
-// MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
-// if(ObjectUtil.isEmpty(wallet)){
-// throw new FebsException("账户不存在");
-// }
-// BigDecimal commission = wallet.getCommission();
-// BigDecimal prizeScore = wallet.getPrizeScore();
-// Integer actScoreCnt = mallActSet.getActScoreCnt();
-// if(prizeScore.compareTo(new BigDecimal(actScoreCnt))<0){
-// throw new FebsException("竞猜积分不足");
-// }
-// /**
-// * 中奖概率 20%
-// * 每次抽奖产生一个随机数要大于8,则中奖
-// * 历史10条抽奖记录有中奖过,中奖记录少于两条,则中奖
-// */
-// //获取中奖概率
-// DataDictionaryCustom scoreDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
-// DataDictionaryEnum.WIN_SCORE.getType(),
-// DataDictionaryEnum.WIN_SCORE.getCode());
-// DataDictionaryCustom cashDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
-// DataDictionaryEnum.WIN_CASH.getType(),
-// DataDictionaryEnum.WIN_CASH.getCode());
-// String scoreDicValue = scoreDic.getValue();
-// String cashDicValue = cashDic.getValue();
-// BigDecimal totalProbability = new BigDecimal(scoreDicValue).add(new BigDecimal(cashDicValue));
-// //获取那个更大一点的几率
-// BigDecimal maxProbability = BigDecimal.ZERO;
-// BigDecimal minProbability = BigDecimal.ZERO;
-// Integer maxAwardType = 0;
-// Integer minAwardType = 0;
-// if(new BigDecimal(scoreDicValue).compareTo(new BigDecimal(cashDicValue)) < 0){
-// maxProbability = new BigDecimal(cashDicValue);
-// minProbability = new BigDecimal(scoreDicValue);
-// maxAwardType = MallActAwardSet.AWARD_TYPE_YJ;
-// minAwardType = MallActAwardSet.AWARD_TYPE_JF;
-// }else{
-// maxProbability = new BigDecimal(scoreDicValue);
-// minProbability = new BigDecimal(cashDicValue);
-// maxAwardType = MallActAwardSet.AWARD_TYPE_JF;
-// minAwardType = MallActAwardSet.AWARD_TYPE_YJ;
-// }
-//
-// BigDecimal multiply = totalProbability.multiply(new BigDecimal(100));
-// BigDecimal failureScope = new BigDecimal(100).subtract(multiply);
-// int randomInt = 90;
-// //小于failureScope这个数字,则没中奖
-// if(new BigDecimal(randomInt).compareTo(failureScope) <= 0){
-// //抽奖记录
-// MallActLuckdrawRecord mallActLuckdrawRecord = new MallActLuckdrawRecord();
-// mallActLuckdrawRecord.setActId(actId);
-// mallActLuckdrawRecord.setActName(mallActSet.getActName());
-// mallActLuckdrawRecord.setMemberId(memberId);
-// mallActLuckdrawRecord.setActScoreCnt(actScoreCnt);
-// mallActLuckdrawRecord.setStatus(MallActLuckdrawRecord.STATUS_DISABLED);
-// mallActLuckdrawRecordMapper.insert(mallActLuckdrawRecord);
-//
-// List<MallActAwardSet> mallActAwardSetXXCY = mallActAwardSetMapper.selectMallActAwardByActIdAndAwardType(actId, MallActAwardSet.AWARD_TYPE_XXCY);
-// if(CollUtil.isNotEmpty(mallActAwardSetXXCY)){
-// apiMallAwardDetailsVo.setAwardImage(mallActAwardSetXXCY.get(0).getAwardImage());
-// apiMallAwardDetailsVo.setAwardName(mallActAwardSetXXCY.get(0).getAwardName());
-// }else{
-// apiMallAwardDetailsVo.setAwardName("未中奖");
-// }
-// }else if(new BigDecimal(randomInt).compareTo(failureScope) > 0
-// && new BigDecimal(randomInt).compareTo(failureScope.add(maxProbability.multiply(new BigDecimal(100)))) <= 0){
-// //大于failureScope.add(maxProbability.multiply(new BigDecimal(100)))这个数字,则中奖
-// //获取最新的十条抽奖记录
-// List<MallActLuckdrawRecord> records = mallActLuckdrawRecordMapper.selectRecordByMemberIdAndActId(memberId,actId);
-// if(CollUtil.isNotEmpty(records)){
-// //中奖次数
-// Integer count = 0;
-// for(MallActLuckdrawRecord mallActLuckdrawRecord : records){
-// Integer status = mallActLuckdrawRecord.getStatus();
-// if(MallActLuckdrawRecord.STATUS_ENABLE == status){
-// count = count + 1;
-// }
-// }
-// if(new BigDecimal(count).compareTo(maxProbability.multiply(new BigDecimal(10))) < 0){
-// //获取活动下该类别的奖品
-// List<MallActAwardSet> mallActAwardSets = mallActAwardSetMapper.selectMallActAwardByActIdAndAwardType(actId,maxAwardType);
-// if(CollUtil.isEmpty(mallActAwardSets)){
-// //抽奖记录
-// MallActLuckdrawRecord mallActLuckdrawRecord = new MallActLuckdrawRecord();
-// mallActLuckdrawRecord.setActId(actId);
-// mallActLuckdrawRecord.setActName(mallActSet.getActName());
-// mallActLuckdrawRecord.setMemberId(memberId);
-// mallActLuckdrawRecord.setActScoreCnt(actScoreCnt);
-// mallActLuckdrawRecord.setStatus(MallActLuckdrawRecord.STATUS_DISABLED);
-// mallActLuckdrawRecordMapper.insert(mallActLuckdrawRecord);
-//
-// List<MallActAwardSet> mallActAwardSetXXCY = mallActAwardSetMapper.selectMallActAwardByActIdAndAwardType(actId, MallActAwardSet.AWARD_TYPE_XXCY);
-// if(CollUtil.isNotEmpty(mallActAwardSetXXCY)){
-// apiMallAwardDetailsVo.setAwardImage(mallActAwardSetXXCY.get(0).getAwardImage());
-// apiMallAwardDetailsVo.setAwardName(mallActAwardSetXXCY.get(0).getAwardName());
-// }else{
-// apiMallAwardDetailsVo.setAwardName("未中奖");
-// }
-// }else{
-// List<MallActAwardSet> idList = new ArrayList();
-// for(MallActAwardSet mallActAwardSet : mallActAwardSets){
-// Integer awardTotal = mallActAwardSet.getAwardTotal();
-// Integer awardCnt = mallActAwardSet.getAwardCnt();
-// if(awardCnt < awardTotal){
-// idList.add(mallActAwardSet);
-// }
-// }
-// MallActAwardSet mallActAwardSet = new MallActAwardSet();
-// if(idList.size() <= 1){
-// mallActAwardSet = idList.get(0);
-// }else{
-// int randomIdIndex = RandomUtil.randomInt(0, idList.size()-1);
-// mallActAwardSet = idList.get(randomIdIndex);
-// }
-// mallActAwardSet.setAwardCnt(mallActAwardSet.getAwardCnt() + 1);
-// mallActAwardSetMapper.updateById(mallActAwardSet);
-//
-// MallActLuckdrawRecord mallActLuckdrawRecord = new MallActLuckdrawRecord();
-// mallActLuckdrawRecord.setActId(actId);
-// mallActLuckdrawRecord.setActName(mallActSet.getActName());
-// mallActLuckdrawRecord.setMemberId(memberId);
-// mallActLuckdrawRecord.setActScoreCnt(actScoreCnt);
-// mallActLuckdrawRecord.setStatus(MallActLuckdrawRecord.STATUS_ENABLE);
-// mallActLuckdrawRecordMapper.insert(mallActLuckdrawRecord);
-//
-// MallActWinRecord mallActWinRecord = new MallActWinRecord();
-// mallActWinRecord.setMemberId(memberId);
-// mallActWinRecord.setActId(actId);
-// mallActWinRecord.setActName(mallActSet.getActName());
-// mallActWinRecord.setAwardId(mallActAwardSet.getId());
-// mallActWinRecord.setAwardName(mallActAwardSet.getAwardName());
-// mallActWinRecord.setAwardType(mallActAwardSet.getAwardType());
-// mallActWinRecord.setAwardValue(mallActAwardSet.getAwardValue());
-// mallActWinRecord.setRecordId(mallActLuckdrawRecord.getId());
-// mallActWinRecordMapper.insert(mallActWinRecord);
-//
-// apiMallAwardDetailsVo.setAwardName(mallActAwardSet.getAwardName());
-// apiMallAwardDetailsVo.setAwardType(mallActAwardSet.getAwardType());
-// apiMallAwardDetailsVo.setAwardValue(mallActAwardSet.getAwardValue());
-// apiMallAwardDetailsVo.setAwardImage(mallActAwardSet.getAwardImage());
-//
-// if(MallActAwardSet.AWARD_TYPE_JF == mallActAwardSet.getAwardType()){
-// prizeScore = prizeScore.add(new BigDecimal(mallActAwardSet.getAwardValue()));
-// }else if(MallActAwardSet.AWARD_TYPE_YJ == mallActAwardSet.getAwardType()){
-// commission = commission.add(new BigDecimal(mallActAwardSet.getAwardValue()));
-// }
-// }
-// }else{
-// //抽奖记录
-// MallActLuckdrawRecord mallActLuckdrawRecord = new MallActLuckdrawRecord();
-// mallActLuckdrawRecord.setActId(actId);
-// mallActLuckdrawRecord.setActName(mallActSet.getActName());
-// mallActLuckdrawRecord.setMemberId(memberId);
-// mallActLuckdrawRecord.setActScoreCnt(actScoreCnt);
-// mallActLuckdrawRecord.setStatus(MallActLuckdrawRecord.STATUS_DISABLED);
-// mallActLuckdrawRecordMapper.insert(mallActLuckdrawRecord);
-//
-// List<MallActAwardSet> mallActAwardSetXXCY = mallActAwardSetMapper.selectMallActAwardByActIdAndAwardType(actId, MallActAwardSet.AWARD_TYPE_XXCY);
-// if(CollUtil.isNotEmpty(mallActAwardSetXXCY)){
-// apiMallAwardDetailsVo.setAwardImage(mallActAwardSetXXCY.get(0).getAwardImage());
-// apiMallAwardDetailsVo.setAwardName(mallActAwardSetXXCY.get(0).getAwardName());
-// }else{
-// apiMallAwardDetailsVo.setAwardName("未中奖");
-// }
-// }
-// }else{
-// //获取活动下该类别的奖品
-// List<MallActAwardSet> mallActAwardSets = mallActAwardSetMapper.selectMallActAwardByActIdAndAwardType(actId,maxAwardType);
-// if(CollUtil.isEmpty(mallActAwardSets)){
-// //抽奖记录
-// MallActLuckdrawRecord mallActLuckdrawRecord = new MallActLuckdrawRecord();
-// mallActLuckdrawRecord.setActId(actId);
-// mallActLuckdrawRecord.setActName(mallActSet.getActName());
-// mallActLuckdrawRecord.setMemberId(memberId);
-// mallActLuckdrawRecord.setActScoreCnt(actScoreCnt);
-// mallActLuckdrawRecord.setStatus(MallActLuckdrawRecord.STATUS_DISABLED);
-// mallActLuckdrawRecordMapper.insert(mallActLuckdrawRecord);
-//
-// List<MallActAwardSet> mallActAwardSetXXCY = mallActAwardSetMapper.selectMallActAwardByActIdAndAwardType(actId, MallActAwardSet.AWARD_TYPE_XXCY);
-// if(CollUtil.isNotEmpty(mallActAwardSetXXCY)){
-// apiMallAwardDetailsVo.setAwardImage(mallActAwardSetXXCY.get(0).getAwardImage());
-// apiMallAwardDetailsVo.setAwardName(mallActAwardSetXXCY.get(0).getAwardName());
-// }else{
-// apiMallAwardDetailsVo.setAwardName("未中奖");
-// }
-// }else{
-// List<MallActAwardSet> idList = new ArrayList();
-// for(MallActAwardSet mallActAwardSet : mallActAwardSets){
-// Integer awardTotal = mallActAwardSet.getAwardTotal();
-// Integer awardCnt = mallActAwardSet.getAwardCnt();
-// if(awardCnt < awardTotal){
-// idList.add(mallActAwardSet);
-// }
-// }
-// MallActAwardSet mallActAwardSet = new MallActAwardSet();
-// if(idList.size() <= 1){
-// mallActAwardSet = idList.get(0);
-// }else{
-// int randomIdIndex = RandomUtil.randomInt(0, idList.size()-1);
-// mallActAwardSet = idList.get(randomIdIndex);
-// }
-// mallActAwardSet.setAwardCnt(mallActAwardSet.getAwardCnt() + 1);
-// mallActAwardSetMapper.updateById(mallActAwardSet);
-//
-// MallActLuckdrawRecord mallActLuckdrawRecord = new MallActLuckdrawRecord();
-// mallActLuckdrawRecord.setActId(actId);
-// mallActLuckdrawRecord.setActName(mallActSet.getActName());
-// mallActLuckdrawRecord.setMemberId(memberId);
-// mallActLuckdrawRecord.setActScoreCnt(actScoreCnt);
-// mallActLuckdrawRecord.setStatus(MallActLuckdrawRecord.STATUS_ENABLE);
-// mallActLuckdrawRecordMapper.insert(mallActLuckdrawRecord);
-//
-// MallActWinRecord mallActWinRecord = new MallActWinRecord();
-// mallActWinRecord.setMemberId(memberId);
-// mallActWinRecord.setActId(actId);
-// mallActWinRecord.setActName(mallActSet.getActName());
-// mallActWinRecord.setAwardId(mallActAwardSet.getId());
-// mallActWinRecord.setAwardName(mallActAwardSet.getAwardName());
-// mallActWinRecord.setAwardType(mallActAwardSet.getAwardType());
-// mallActWinRecord.setAwardValue(mallActAwardSet.getAwardValue());
-// mallActWinRecord.setRecordId(mallActLuckdrawRecord.getId());
-// mallActWinRecordMapper.insert(mallActWinRecord);
-//
-// apiMallAwardDetailsVo.setAwardName(mallActAwardSet.getAwardName());
-// apiMallAwardDetailsVo.setAwardType(mallActAwardSet.getAwardType());
-// apiMallAwardDetailsVo.setAwardValue(mallActAwardSet.getAwardValue());
-// apiMallAwardDetailsVo.setAwardImage(mallActAwardSet.getAwardImage());
-//
-// if(MallActAwardSet.AWARD_TYPE_JF == mallActAwardSet.getAwardType()){
-// prizeScore = prizeScore.add(new BigDecimal(mallActAwardSet.getAwardValue()));
-// }else if(MallActAwardSet.AWARD_TYPE_YJ == mallActAwardSet.getAwardType()){
-// commission = commission.add(new BigDecimal(mallActAwardSet.getAwardValue()));
-// }
-// }
-// }
-// }else{
-// //中奖
-// //获取最新的十条抽奖记录
-// List<MallActLuckdrawRecord> records = mallActLuckdrawRecordMapper.selectRecordByMemberIdAndActId(memberId,actId);
-// if(CollUtil.isNotEmpty(records)){
-// //中奖次数
-// Integer count = 0;
-// for(MallActLuckdrawRecord mallActLuckdrawRecord : records){
-// Integer status = mallActLuckdrawRecord.getStatus();
-// if(MallActLuckdrawRecord.STATUS_ENABLE == status){
-// count = count + 1;
-// }
-// }
-// if(new BigDecimal(count).compareTo(minProbability.multiply(new BigDecimal(10))) < 0){
-// //获取活动下该类别的奖品
-// List<MallActAwardSet> mallActAwardSets = mallActAwardSetMapper.selectMallActAwardByActIdAndAwardType(actId,minAwardType);
-// if(CollUtil.isEmpty(mallActAwardSets)){
-// //抽奖记录
-// MallActLuckdrawRecord mallActLuckdrawRecord = new MallActLuckdrawRecord();
-// mallActLuckdrawRecord.setActId(actId);
-// mallActLuckdrawRecord.setActName(mallActSet.getActName());
-// mallActLuckdrawRecord.setMemberId(memberId);
-// mallActLuckdrawRecord.setActScoreCnt(actScoreCnt);
-// mallActLuckdrawRecord.setStatus(MallActLuckdrawRecord.STATUS_DISABLED);
-// mallActLuckdrawRecordMapper.insert(mallActLuckdrawRecord);
-//
-// List<MallActAwardSet> mallActAwardSetXXCY = mallActAwardSetMapper.selectMallActAwardByActIdAndAwardType(actId, MallActAwardSet.AWARD_TYPE_XXCY);
-// if(CollUtil.isNotEmpty(mallActAwardSetXXCY)){
-// apiMallAwardDetailsVo.setAwardImage(mallActAwardSetXXCY.get(0).getAwardImage());
-// apiMallAwardDetailsVo.setAwardName(mallActAwardSetXXCY.get(0).getAwardName());
-// }else{
-// apiMallAwardDetailsVo.setAwardName("未中奖");
-// }
-// }else{
-// List<MallActAwardSet> idList = new ArrayList();
-// for(MallActAwardSet mallActAwardSet : mallActAwardSets){
-// Integer awardTotal = mallActAwardSet.getAwardTotal();
-// Integer awardCnt = mallActAwardSet.getAwardCnt();
-// if(awardCnt < awardTotal){
-// idList.add(mallActAwardSet);
-// }
-// }
-// MallActAwardSet mallActAwardSet = new MallActAwardSet();
-// if(idList.size() <= 1){
-// mallActAwardSet = idList.get(0);
-// }else{
-// int randomIdIndex = RandomUtil.randomInt(0, idList.size()-1);
-// mallActAwardSet = idList.get(randomIdIndex);
-// }
-// mallActAwardSet.setAwardCnt(mallActAwardSet.getAwardCnt() + 1);
-// mallActAwardSetMapper.updateById(mallActAwardSet);
-//
-// MallActLuckdrawRecord mallActLuckdrawRecord = new MallActLuckdrawRecord();
-// mallActLuckdrawRecord.setActId(actId);
-// mallActLuckdrawRecord.setActName(mallActSet.getActName());
-// mallActLuckdrawRecord.setMemberId(memberId);
-// mallActLuckdrawRecord.setActScoreCnt(actScoreCnt);
-// mallActLuckdrawRecord.setStatus(MallActLuckdrawRecord.STATUS_ENABLE);
-// mallActLuckdrawRecordMapper.insert(mallActLuckdrawRecord);
-//
-// MallActWinRecord mallActWinRecord = new MallActWinRecord();
-// mallActWinRecord.setMemberId(memberId);
-// mallActWinRecord.setActId(actId);
-// mallActWinRecord.setActName(mallActSet.getActName());
-// mallActWinRecord.setAwardId(mallActAwardSet.getId());
-// mallActWinRecord.setAwardName(mallActAwardSet.getAwardName());
-// mallActWinRecord.setAwardType(mallActAwardSet.getAwardType());
-// mallActWinRecord.setAwardValue(mallActAwardSet.getAwardValue());
-// mallActWinRecord.setRecordId(mallActLuckdrawRecord.getId());
-// mallActWinRecordMapper.insert(mallActWinRecord);
-//
-// apiMallAwardDetailsVo.setAwardName(mallActAwardSet.getAwardName());
-// apiMallAwardDetailsVo.setAwardType(mallActAwardSet.getAwardType());
-// apiMallAwardDetailsVo.setAwardValue(mallActAwardSet.getAwardValue());
-// apiMallAwardDetailsVo.setAwardImage(mallActAwardSet.getAwardImage());
-//
-// if(MallActAwardSet.AWARD_TYPE_JF == mallActAwardSet.getAwardType()){
-// prizeScore = prizeScore.add(new BigDecimal(mallActAwardSet.getAwardValue()));
-// }else if(MallActAwardSet.AWARD_TYPE_YJ == mallActAwardSet.getAwardType()){
-// commission = commission.add(new BigDecimal(mallActAwardSet.getAwardValue()));
-// }
-// }
-// }else{
-// //抽奖记录
-// MallActLuckdrawRecord mallActLuckdrawRecord = new MallActLuckdrawRecord();
-// mallActLuckdrawRecord.setActId(actId);
-// mallActLuckdrawRecord.setActName(mallActSet.getActName());
-// mallActLuckdrawRecord.setMemberId(memberId);
-// mallActLuckdrawRecord.setActScoreCnt(actScoreCnt);
-// mallActLuckdrawRecord.setStatus(MallActLuckdrawRecord.STATUS_DISABLED);
-// mallActLuckdrawRecordMapper.insert(mallActLuckdrawRecord);
-//
-// List<MallActAwardSet> mallActAwardSetXXCY = mallActAwardSetMapper.selectMallActAwardByActIdAndAwardType(actId, MallActAwardSet.AWARD_TYPE_XXCY);
-// if(CollUtil.isNotEmpty(mallActAwardSetXXCY)){
-// apiMallAwardDetailsVo.setAwardImage(mallActAwardSetXXCY.get(0).getAwardImage());
-// apiMallAwardDetailsVo.setAwardName(mallActAwardSetXXCY.get(0).getAwardName());
-// }else{
-// apiMallAwardDetailsVo.setAwardName("未中奖");
-// }
-// }
-// }else{
-// //获取活动下该类别的奖品
-// List<MallActAwardSet> mallActAwardSets = mallActAwardSetMapper.selectMallActAwardByActIdAndAwardType(actId,minAwardType);
-// if(CollUtil.isEmpty(mallActAwardSets)){
-// //抽奖记录
-// MallActLuckdrawRecord mallActLuckdrawRecord = new MallActLuckdrawRecord();
-// mallActLuckdrawRecord.setActId(actId);
-// mallActLuckdrawRecord.setActName(mallActSet.getActName());
-// mallActLuckdrawRecord.setMemberId(memberId);
-// mallActLuckdrawRecord.setActScoreCnt(actScoreCnt);
-// mallActLuckdrawRecord.setStatus(MallActLuckdrawRecord.STATUS_DISABLED);
-// mallActLuckdrawRecordMapper.insert(mallActLuckdrawRecord);
-//
-// List<MallActAwardSet> mallActAwardSetXXCY = mallActAwardSetMapper.selectMallActAwardByActIdAndAwardType(actId, MallActAwardSet.AWARD_TYPE_XXCY);
-// if(CollUtil.isNotEmpty(mallActAwardSetXXCY)){
-// apiMallAwardDetailsVo.setAwardImage(mallActAwardSetXXCY.get(0).getAwardImage());
-// apiMallAwardDetailsVo.setAwardName(mallActAwardSetXXCY.get(0).getAwardName());
-// }else{
-// apiMallAwardDetailsVo.setAwardName("未中奖");
-// }
-// }else{
-// List<MallActAwardSet> idList = new ArrayList();
-// for(MallActAwardSet mallActAwardSet : mallActAwardSets){
-// Integer awardTotal = mallActAwardSet.getAwardTotal();
-// Integer awardCnt = mallActAwardSet.getAwardCnt();
-// if(awardCnt < awardTotal){
-// idList.add(mallActAwardSet);
-// }
-// }
-// MallActAwardSet mallActAwardSet = new MallActAwardSet();
-// if(idList.size() <= 1){
-// mallActAwardSet = idList.get(0);
-// }else{
-// int randomIdIndex = RandomUtil.randomInt(0, idList.size()-1);
-// mallActAwardSet = idList.get(randomIdIndex);
-// }
-// mallActAwardSet.setAwardCnt(mallActAwardSet.getAwardCnt() + 1);
-// mallActAwardSetMapper.updateById(mallActAwardSet);
-//
-// MallActLuckdrawRecord mallActLuckdrawRecord = new MallActLuckdrawRecord();
-// mallActLuckdrawRecord.setActId(actId);
-// mallActLuckdrawRecord.setActName(mallActSet.getActName());
-// mallActLuckdrawRecord.setMemberId(memberId);
-// mallActLuckdrawRecord.setActScoreCnt(actScoreCnt);
-// mallActLuckdrawRecord.setStatus(MallActLuckdrawRecord.STATUS_ENABLE);
-// mallActLuckdrawRecordMapper.insert(mallActLuckdrawRecord);
-//
-// MallActWinRecord mallActWinRecord = new MallActWinRecord();
-// mallActWinRecord.setMemberId(memberId);
-// mallActWinRecord.setActId(actId);
-// mallActWinRecord.setActName(mallActSet.getActName());
-// mallActWinRecord.setAwardId(mallActAwardSet.getId());
-// mallActWinRecord.setAwardName(mallActAwardSet.getAwardName());
-// mallActWinRecord.setAwardType(mallActAwardSet.getAwardType());
-// mallActWinRecord.setAwardValue(mallActAwardSet.getAwardValue());
-// mallActWinRecord.setRecordId(mallActLuckdrawRecord.getId());
-// mallActWinRecordMapper.insert(mallActWinRecord);
-//
-// apiMallAwardDetailsVo.setAwardName(mallActAwardSet.getAwardName());
-// apiMallAwardDetailsVo.setAwardType(mallActAwardSet.getAwardType());
-// apiMallAwardDetailsVo.setAwardValue(mallActAwardSet.getAwardValue());
-// apiMallAwardDetailsVo.setAwardImage(mallActAwardSet.getAwardImage());
-//
-// if(MallActAwardSet.AWARD_TYPE_JF == mallActAwardSet.getAwardType()){
-// prizeScore = prizeScore.add(new BigDecimal(mallActAwardSet.getAwardValue()));
-// }else if(MallActAwardSet.AWARD_TYPE_YJ == mallActAwardSet.getAwardType()){
-// commission = commission.add(new BigDecimal(mallActAwardSet.getAwardValue()));
-// }
-// }
-// }
-// }
-//
-// //扣竞猜积分
-// prizeScore = prizeScore.subtract(new BigDecimal(actScoreCnt));
-// wallet.setPrizeScore(prizeScore);
-// wallet.setCommission(commission);
-// mallMemberWalletMapper.updateAmountWithVersion(wallet);
-//
-// System.out.println(apiMallAwardDetailsVo);
-// }
-//
-// @Test
-// public void agentTest() {
-//// agentProducer.sendDelayMsg(1L, 10000L);
-//
-// ApiMallActWinDetailsDto apiMallActWinDetailsDto = new ApiMallActWinDetailsDto();
-// apiMallActWinDetailsDto.setActId(1L);
-// apiMallActWinDetailsDto.setPageNow(1);
-// apiMallActWinDetailsDto.setPageSize(10);
-// Long memberId = 4L;
-// MallMember mallMember = mallMemberMapper.selectById(memberId);
-// if(ObjectUtil.isEmpty(mallMember)){
-// throw new FebsException("用户不存在");
-// }
-// apiMallActWinDetailsDto.setMemberId(memberId);
-//
-// Long actId = apiMallActWinDetailsDto.getActId();
-// MallActSet mallActSet = mallActSetMapper.selectById(actId);
-// if(ObjectUtil.isEmpty(mallActSet)){
-// throw new FebsException("活动不存在");
-// }
-// Page<ApiMallActWinDetailsVo> page = new Page<>(apiMallActWinDetailsDto.getPageNow(), apiMallActWinDetailsDto.getPageSize());
-// IPage<ApiMallActWinDetailsVo> apiMallActWinDetailsVoIPage = mallActWinRecordMapper.selectApiMallActWinDetailsListInPage(apiMallActWinDetailsDto, page);
-// System.out.println(apiMallActWinDetailsVoIPage);
-// }
-//
-// @Test
-// public void insertAgentTest() {
-//// AgentInfo agentInfo = new AgentInfo();
-//// agentInfo.setOrderType(2);
-//// agentInfo.setOrderCnt(2000);
-//// agentInfo.setLastCnt(3);
-//// agentInfo.setDirectIncome(BigDecimal.valueOf(50));
-//// agentInfo.setTeamIncome(BigDecimal.valueOf(15));
-//// agentInfo.setTeamIncomeType(2);
-////
-//// DataDictionaryCustom data = new DataDictionaryCustom();
-//// data.setType("AGENT_LEVEL_REQUIRE");
-//// data.setCode(AgentLevelEnum.FOUR_LEVEL.name());
-//// data.setValue(JSONObject.toJSONString(agentInfo));
-//// dataDictionaryCustomMapper.insert(data);
-// }
-//
-// @Test
-// public void insertData() {
-// int i = 1;
-// for (AgentLevelEnum value : AgentLevelEnum.values()) {
-// DataDictionaryCustom data = new DataDictionaryCustom();
-// data.setType("AGENT_LEVEL");
-// data.setDescription(value.getName());
-// data.setCode(value.name());
-// data.setValue(String.valueOf(i));
-// dataDictionaryCustomMapper.insert(data);
-// }
-//
-// }
-//
-// public static void main(String[] args) {
-// getJson();
-// }
-//
-// public static void getJson(){
-// AgentLevelUpdateDto adminAgentLevelUpdateInfoVo = new AgentLevelUpdateDto();
-// String jsonStr = "{\"directIncome\":50,\"lastCnt\":3,\"orderCnt\":2000,\"orderType\":2,\"teamIncome\":15,\"teamIncomeType\":2}";
-// JSONObject jsonObject = JSONObject.parseObject(jsonStr);
-// adminAgentLevelUpdateInfoVo.setDirectIncome(new BigDecimal((jsonObject.get("directIncome")==null?0:jsonObject.get("directIncome")).toString()));
-// adminAgentLevelUpdateInfoVo.setLastCnt(Integer.parseInt((jsonObject.get("lastCnt")==null?0:jsonObject.get("lastCnt")).toString()));
-// adminAgentLevelUpdateInfoVo.setOrderCnt(Integer.parseInt((jsonObject.get("orderCnt")==null?0:jsonObject.get("orderCnt")).toString()));
-// adminAgentLevelUpdateInfoVo.setOrderType(Integer.parseInt(jsonObject.get("orderType").toString()));
-// adminAgentLevelUpdateInfoVo.setTeamIncome(new BigDecimal((jsonObject.get("teamIncome")==null?0:jsonObject.get("teamIncome")).toString()));
-// adminAgentLevelUpdateInfoVo.setTeamIncomeType(Integer.parseInt(jsonObject.get("orderType").toString()));
-// adminAgentLevelUpdateInfoVo.setId(14L);
-// AgentLevelUpdateDto agentLevelUpdateDtoJson = new AgentLevelUpdateDto();
-// agentLevelUpdateDtoJson.setDirectIncome(adminAgentLevelUpdateInfoVo.getDirectIncome());
-// agentLevelUpdateDtoJson.setLastCnt(adminAgentLevelUpdateInfoVo.getLastCnt());
-// agentLevelUpdateDtoJson.setOrderCnt(adminAgentLevelUpdateInfoVo.getOrderCnt());
-// agentLevelUpdateDtoJson.setTeamIncome(adminAgentLevelUpdateInfoVo.getTeamIncome());
-// agentLevelUpdateDtoJson.setOrderType(adminAgentLevelUpdateInfoVo.getOrderType());
-// agentLevelUpdateDtoJson.setTeamIncomeType(adminAgentLevelUpdateInfoVo.getTeamIncomeType());
-// JSONObject jsonObjectA = (JSONObject)JSONObject.toJSON(agentLevelUpdateDtoJson);
-// System.out.println(jsonObjectA.toJSONString());
-// }
-//
-// @Test
-// public void autoLevelUp() {
-// // agentService.autoUpAgentLevel(3L);
-//// agentProducer.sendAutoLevelUpMsg(5L);
-//
-// agentProducer.sendReturnMoneyMsg(2L);
-// }
-//
-// @Test
-// public void returnMoney() {
-// // agentService.autoUpAgentLevel(3L);
-//// agentProducer.sendAutoLevelUpMsg(5L);
-//// agentProducer.sendReturnMoneyMsg(52L);
-// agentService.returnMoneyToAgent(52L);
-// }
-//
-// @Test
-// public void bigdecimalTest() {
-// BigDecimal aa = new BigDecimal("1.345");
-//
-// System.out.println(aa.setScale(2, RoundingMode.DOWN));
-// System.out.println(aa.setScale(2, RoundingMode.UP));
-// }
-//
-// @Autowired
-// private ProfitJob profitJob;
-//
-// @Test
-// public void profitJobTest() {
-//// profitJob.profitJob();
-// }
-//
-//
-// @Autowired
-// private AgentConsumer agentConsumer;
-//
-// @Test
-// public void orderReturnTest() {
-//// agentConsumer.orderReturnMoney("7");
-// }
+ @Autowired
+ private GameService gameService;
+
+ /**
+ * 房主操作
+ */
+ //创建房间
+ @Test
+ public void createRoom() {
+
+ ApiCreateRoomDto apiCreateRoomDto = new ApiCreateRoomDto();
+ apiCreateRoomDto.setRoomType(1);
+ apiCreateRoomDto.setGameTime(10);
+ gameService.createRoom(apiCreateRoomDto);
+ }
}
--
Gitblit v1.9.1