From f39e494173dfb8789d97beee4fc53123b8a6b21d Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Wed, 24 Nov 2021 15:51:03 +0800 Subject: [PATCH] 20211124 fish --- src/main/java/com/xcong/excoin/modules/fish/dao/MemberAccountGoldDao.java | 3 + src/main/java/com/xcong/excoin/modules/fish/service/impl/MemberCannonServiceImpl.java | 25 ++++++++ src/main/java/com/xcong/excoin/modules/fish/dao/CannonOwnRecordDao.java | 2 src/main/resources/mapper/fish/CannonOwnRecordDao.xml | 7 ++ src/main/resources/mapper/fish/MemberAccountGoldDao.xml | 4 + src/main/java/com/xcong/excoin/modules/fish/vo/CannonSettingVo.java | 2 src/main/java/com/xcong/excoin/modules/fish/vo/OwnCannonVo.java | 25 ++++++++ src/main/java/com/xcong/excoin/modules/fish/controller/MemberCannonController.java | 41 ++++++++++--- src/main/java/com/xcong/excoin/modules/fish/service/MemberCannonService.java | 4 + src/main/java/com/xcong/excoin/modules/fish/vo/GoldAccountVo.java | 20 ++++++ 10 files changed, 122 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/fish/controller/MemberCannonController.java b/src/main/java/com/xcong/excoin/modules/fish/controller/MemberCannonController.java index 84c8a7a..4feb965 100644 --- a/src/main/java/com/xcong/excoin/modules/fish/controller/MemberCannonController.java +++ b/src/main/java/com/xcong/excoin/modules/fish/controller/MemberCannonController.java @@ -1,21 +1,22 @@ package com.xcong.excoin.modules.fish.controller; import com.xcong.excoin.common.response.Result; +import com.xcong.excoin.modules.coin.parameter.vo.MemberWalletAgentInfoVo; import com.xcong.excoin.modules.coin.parameter.vo.OrderWalletCoinDealVo; import com.xcong.excoin.modules.fish.dto.CannonExchangeDto; import com.xcong.excoin.modules.fish.dto.CoinGoldExchangeDto; import com.xcong.excoin.modules.fish.dto.GetCannonsDto; import com.xcong.excoin.modules.fish.dto.GoldExchangeDto; import com.xcong.excoin.modules.fish.service.MemberCannonService; +import com.xcong.excoin.modules.fish.vo.CannonSettingVo; +import com.xcong.excoin.modules.fish.vo.GoldAccountVo; +import com.xcong.excoin.modules.fish.vo.OwnCannonVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -29,6 +30,16 @@ private MemberCannonService memberCannonService; /** + * 获取金币账户 + */ + @ApiOperation(value="获取金币账户", notes="获取金币账户") + @ApiResponses({@ApiResponse( code = 200, message = "success", response = GoldAccountVo.class)}) + @GetMapping(value="/getGoldAccount") + public Result getGoldAccount() { + return memberCannonService.getGoldAccount(); + } + + /** * 代币金币互转 */ @ApiOperation(value = "代币金币互转") @@ -40,17 +51,17 @@ /** * USDT购买金币 */ - @ApiOperation(value = "USDT购买金币") - @PostMapping(value = "/goldExchange") - public Result goldExchange(@RequestBody GoldExchangeDto goldExchangeDto) { - return memberCannonService.goldExchange(goldExchangeDto); - } +// @ApiOperation(value = "USDT购买金币") +// @PostMapping(value = "/goldExchange") +// public Result goldExchange(@RequestBody GoldExchangeDto goldExchangeDto) { +// return memberCannonService.goldExchange(goldExchangeDto); +// } /** * 获取大炮列表 */ @ApiOperation(value = "获取大炮列表") - @ApiResponses({@ApiResponse( code = 200, message = "success", response = OrderWalletCoinDealVo.class)}) + @ApiResponses({@ApiResponse( code = 200, message = "success", response = CannonSettingVo.class)}) @PostMapping(value = "/getCannons") public Result getCannons(@RequestBody GetCannonsDto getCannonsDto) { return memberCannonService.getCannons(getCannonsDto); @@ -65,5 +76,15 @@ return memberCannonService.cannonExchange(cannonExchangeDto); } + /** + * 获取用户拥有的炮台 + */ + @ApiOperation(value="获取用户拥有的炮台", notes="获取用户拥有的炮台") + @ApiResponses({@ApiResponse( code = 200, message = "success", response = OwnCannonVo.class)}) + @GetMapping(value="/getOwnCannon") + public Result getOwnCannon() { + return memberCannonService.getOwnCannon(); + } + } diff --git a/src/main/java/com/xcong/excoin/modules/fish/dao/CannonOwnRecordDao.java b/src/main/java/com/xcong/excoin/modules/fish/dao/CannonOwnRecordDao.java index 4ce4f00..5f3056b 100644 --- a/src/main/java/com/xcong/excoin/modules/fish/dao/CannonOwnRecordDao.java +++ b/src/main/java/com/xcong/excoin/modules/fish/dao/CannonOwnRecordDao.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xcong.excoin.modules.fish.entity.CannonOwnRecord; +import com.xcong.excoin.modules.fish.vo.OwnCannonVo; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -10,4 +11,5 @@ List<CannonOwnRecord> selectCannonOwnRecordsByMemberIdAndCannonCode(@Param("memberId")Long memberId, @Param("code")String code); + List<OwnCannonVo> selectCannonOwnRecordsByMemberId(@Param("memberId")Long memberId); } diff --git a/src/main/java/com/xcong/excoin/modules/fish/dao/MemberAccountGoldDao.java b/src/main/java/com/xcong/excoin/modules/fish/dao/MemberAccountGoldDao.java index 5b69ac8..5bc26ca 100644 --- a/src/main/java/com/xcong/excoin/modules/fish/dao/MemberAccountGoldDao.java +++ b/src/main/java/com/xcong/excoin/modules/fish/dao/MemberAccountGoldDao.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xcong.excoin.modules.fish.entity.MemberAccountGold; +import com.xcong.excoin.modules.fish.vo.GoldAccountVo; import org.apache.ibatis.annotations.Param; import java.math.BigDecimal; @@ -11,4 +12,6 @@ MemberAccountGold selectAccountGoldByMemberId(@Param("memberId")Long memberId); int updateTotalBalanceAndAvailableBalance(@Param("id") Long id, @Param("availableBalance") BigDecimal availableBalance, @Param("totalBalance") BigDecimal totalBalance, @Param("frozenBalance") BigDecimal frozenBalance); + + GoldAccountVo selectAccountGoldVoByMemberId(Long memberId); } diff --git a/src/main/java/com/xcong/excoin/modules/fish/service/MemberCannonService.java b/src/main/java/com/xcong/excoin/modules/fish/service/MemberCannonService.java index 1f363dd..8c60692 100644 --- a/src/main/java/com/xcong/excoin/modules/fish/service/MemberCannonService.java +++ b/src/main/java/com/xcong/excoin/modules/fish/service/MemberCannonService.java @@ -22,4 +22,8 @@ Result cannonExchange(CannonExchangeDto cannonExchangeDto); Result goldExchange(GoldExchangeDto goldExchangeDto); + + Result getGoldAccount(); + + Result getOwnCannon(); } diff --git a/src/main/java/com/xcong/excoin/modules/fish/service/impl/MemberCannonServiceImpl.java b/src/main/java/com/xcong/excoin/modules/fish/service/impl/MemberCannonServiceImpl.java index d13af5a..eb9bb9c 100644 --- a/src/main/java/com/xcong/excoin/modules/fish/service/impl/MemberCannonServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/fish/service/impl/MemberCannonServiceImpl.java @@ -21,6 +21,8 @@ import com.xcong.excoin.modules.fish.entity.*; import com.xcong.excoin.modules.fish.service.MemberCannonService; import com.xcong.excoin.modules.fish.vo.CannonSettingVo; +import com.xcong.excoin.modules.fish.vo.GoldAccountVo; +import com.xcong.excoin.modules.fish.vo.OwnCannonVo; import com.xcong.excoin.modules.member.dao.MemberWalletCoinDao; import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity; import com.xcong.excoin.utils.RedisUtils; @@ -191,6 +193,29 @@ return Result.ok("兑换成功"); } + @Override + public Result getGoldAccount() { + Long memberId = LoginUserUtils.getAppLoginUser().getId(); + MemberAccountGold memberAccountGold = memberAccountGoldDao.selectAccountGoldByMemberId(memberId); + if(ObjectUtil.isEmpty(memberAccountGold)){ + MemberAccountGold memberAccountGoldNew = new MemberAccountGold(); + memberAccountGoldNew.setMemberId(memberId); + memberAccountGoldNew.setTotalBalance(BigDecimal.ZERO); + memberAccountGoldNew.setAvailableBalance(BigDecimal.ZERO); + memberAccountGoldNew.setFrozenBalance(BigDecimal.ZERO); + memberAccountGoldDao.insert(memberAccountGoldNew); + } + GoldAccountVo goldAccountVo = memberAccountGoldDao.selectAccountGoldVoByMemberId(memberId); + return Result.ok(goldAccountVo); + } + + @Override + public Result getOwnCannon() { + Long memberId = LoginUserUtils.getAppLoginUser().getId(); + List<OwnCannonVo> cannonOwnRecords = cannonOwnRecordDao.selectCannonOwnRecordsByMemberId(memberId); + return Result.ok(cannonOwnRecords); + } + public static void main(String[] args) { System.out.println(UUID.randomUUID().toString()); } diff --git a/src/main/java/com/xcong/excoin/modules/fish/vo/CannonSettingVo.java b/src/main/java/com/xcong/excoin/modules/fish/vo/CannonSettingVo.java index c1dc0fd..aba8c44 100644 --- a/src/main/java/com/xcong/excoin/modules/fish/vo/CannonSettingVo.java +++ b/src/main/java/com/xcong/excoin/modules/fish/vo/CannonSettingVo.java @@ -18,7 +18,7 @@ private String code; @ApiModelProperty(value = "兑换价格")//兑换价格 private BigDecimal exchangePrice; - @ApiModelProperty(value = "1发炮弹消耗金币数")//消耗金币 + @ApiModelProperty(value = "每发炮弹消耗金币数")//消耗金币 private BigDecimal goldConsume; } diff --git a/src/main/java/com/xcong/excoin/modules/fish/vo/GoldAccountVo.java b/src/main/java/com/xcong/excoin/modules/fish/vo/GoldAccountVo.java new file mode 100644 index 0000000..81ebf0d --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/fish/vo/GoldAccountVo.java @@ -0,0 +1,20 @@ +package com.xcong.excoin.modules.fish.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel(value = "GoldAccountVo", description = "金币账户") +public class GoldAccountVo { + + private Long memberId; + @ApiModelProperty(value = "金币可用余额")//金币可用余额 + private BigDecimal availableBalance; + @ApiModelProperty(value = "金币总金额")//金币总金额 + private BigDecimal totalBalance; + @ApiModelProperty(value = "金币冻结余额")//金币冻结余额 + private BigDecimal frozenBalance; +} diff --git a/src/main/java/com/xcong/excoin/modules/fish/vo/OwnCannonVo.java b/src/main/java/com/xcong/excoin/modules/fish/vo/OwnCannonVo.java new file mode 100644 index 0000000..23823f8 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/fish/vo/OwnCannonVo.java @@ -0,0 +1,25 @@ +package com.xcong.excoin.modules.fish.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +@Data +@ApiModel(value = "OwnCannonVo", description = "金币账户") +public class OwnCannonVo { + + private Long memberId; + @ApiModelProperty(value = "炮台UUID")//炮台UUID + private String cannonUuid; + @ApiModelProperty(value = "炮台名称")//炮台名称 + private String cannonName; + @ApiModelProperty(value = "炮台编码")//炮台编码 + private String cannonCode; + @ApiModelProperty(value = "炮台兑换价格")//炮台兑换价格 + private BigDecimal cannonPrice; + @ApiModelProperty(value = "每发炮弹消耗金币数")//消耗金币 + private BigDecimal goldConsume; + @ApiModelProperty(value = "1:主动购买 2:系统赠送")//1:主动购买 2:系统赠送 + private Integer type; +} diff --git a/src/main/resources/mapper/fish/CannonOwnRecordDao.xml b/src/main/resources/mapper/fish/CannonOwnRecordDao.xml index bd80702..e79ff28 100644 --- a/src/main/resources/mapper/fish/CannonOwnRecordDao.xml +++ b/src/main/resources/mapper/fish/CannonOwnRecordDao.xml @@ -6,4 +6,11 @@ select a.* from cannon_own_record a where a.member_id = #{memberId} and a.cannon_code = #{code} </select> + <select id="selectCannonOwnRecordsByMemberId" resultType="com.xcong.excoin.modules.fish.vo.OwnCannonVo"> + select a.*,b.gold_consume goldConsume + from cannon_own_record a + left join cannon_setting b on a.cannon_code = b.code + where a.member_id = #{memberId} + </select> + </mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/fish/MemberAccountGoldDao.xml b/src/main/resources/mapper/fish/MemberAccountGoldDao.xml index 199f771..bf8057b 100644 --- a/src/main/resources/mapper/fish/MemberAccountGoldDao.xml +++ b/src/main/resources/mapper/fish/MemberAccountGoldDao.xml @@ -28,4 +28,8 @@ where id=#{id} </update> + <select id="selectAccountGoldVoByMemberId" resultType="com.xcong.excoin.modules.fish.vo.GoldAccountVo"> + select a.* from member_account_gold a where a.member_id = #{memberId} + </select> + </mapper> \ No newline at end of file -- Gitblit v1.9.1