From 3f22b35a5c8327b9def2ae5ff0514fdc4c53771f Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 19 Mar 2021 14:47:36 +0800 Subject: [PATCH] 20210318 活动接口 --- src/main/resources/mapper/activity/ActivityReceiveRecordDao.xml | 17 + src/main/resources/mapper/contract/ContractOrderDao.xml | 10 + src/main/java/com/xcong/excoin/modules/activity/dao/ActivityReceiveRecordDao.java | 7 src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java | 2 src/main/resources/i18n/messages_en_US.properties | 7 src/main/java/com/xcong/excoin/modules/activity/entity/ActivityReceiveRecord.java | 14 src/main/java/com/xcong/excoin/modules/activity/controller/ActivityController.java | 42 +++ src/main/java/com/xcong/excoin/modules/activity/vo/ActivityMainVo.java | 18 ++ src/main/resources/i18n/messages_zh_CN.properties | 7 /dev/null | 10 - src/main/java/com/xcong/excoin/modules/platform/service/impl/PlatformBannerServiceImpl.java | 1 src/main/java/com/xcong/excoin/modules/activity/entity/ActivityMain.java | 4 src/main/java/com/xcong/excoin/modules/activity/entity/ActivitySub.java | 16 + src/main/java/com/xcong/excoin/modules/activity/service/impl/ActivityServiceImpl.java | 240 ++++++++++++++++++++++++++ src/main/java/com/xcong/excoin/modules/activity/vo/ActivityMainDetailVo.java | 47 +++++ src/main/java/com/xcong/excoin/modules/platform/entity/PlatformBannerEntity.java | 7 src/main/resources/mapper/member/MemberAccountMoneyChangeDao.xml | 2 src/main/java/com/xcong/excoin/common/enumerates/MemberWalletCoinEnum.java | 1 src/main/java/com/xcong/excoin/modules/activity/vo/ActivityReceiveRecordVo.java | 32 +++ src/main/java/com/xcong/excoin/modules/activity/service/ActivityService.java | 6 20 files changed, 454 insertions(+), 36 deletions(-) diff --git a/src/main/java/com/xcong/excoin/common/enumerates/MemberWalletCoinEnum.java b/src/main/java/com/xcong/excoin/common/enumerates/MemberWalletCoinEnum.java index e4d58dc..e558c7a 100644 --- a/src/main/java/com/xcong/excoin/common/enumerates/MemberWalletCoinEnum.java +++ b/src/main/java/com/xcong/excoin/common/enumerates/MemberWalletCoinEnum.java @@ -17,6 +17,7 @@ CONTENTFROMCONTRACT("0004","由合约账户转入"), CONTENTFROMAGENT("0005","由代理账户转入"), + CONTENTFROMACTIVITY("0006","活动激活补贴"), WALLETCOINCODE("USDT", "USDT"), diff --git a/src/main/java/com/xcong/excoin/modules/activity/controller/ActivityController.java b/src/main/java/com/xcong/excoin/modules/activity/controller/ActivityController.java index 6c070d9..f6cfaab 100644 --- a/src/main/java/com/xcong/excoin/modules/activity/controller/ActivityController.java +++ b/src/main/java/com/xcong/excoin/modules/activity/controller/ActivityController.java @@ -4,14 +4,17 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; - import com.xcong.excoin.common.response.Result; import com.xcong.excoin.modules.activity.service.ActivityService; -import com.xcong.excoin.modules.activity.vo.ActivityMainListVo; +import com.xcong.excoin.modules.activity.vo.ActivityMainDetailVo; +import com.xcong.excoin.modules.activity.vo.ActivityMainVo; +import com.xcong.excoin.modules.helpCenter.vo.NoticeInfoVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import lombok.extern.slf4j.Slf4j; @@ -26,13 +29,36 @@ ActivityService activityService; /** - * 活动中心 + * 首页获取活动图片 */ - @ApiOperation(value="用户协议", notes="用户协议") - @ApiResponses({@ApiResponse( code = 200, message = "success", response = ActivityMainListVo.class)}) - @GetMapping(value = "/getActivityMainList") - public Result getActivityMainList() { - return activityService.getActivityMainList(); + @ApiOperation(value="首页获取活动图片", notes="首页获取活动图片") + @ApiResponses({@ApiResponse( code = 200, message = "success", response = ActivityMainVo.class)}) + @GetMapping(value = "/getActivityMain") + public Result getActivityMain() { + return activityService.getActivityMain(); } + + /** + * 活动详情 + */ + @ApiOperation(value="活动详情", notes="活动详情") + @ApiResponses({@ApiResponse( code = 200, message = "success", response = ActivityMainDetailVo.class)}) + @GetMapping(value = "/getActivityMainDetail") + public Result getActivityMainDetail(@ApiParam(name = "活动ID", value = "ID", example = "1") + @RequestParam(value = "Id") long Id) { + return activityService.getActivityMainDetail(Id); + } + + /** + * 点击领取 + */ + @ApiOperation(value="点击领取", notes="点击领取") + @GetMapping(value = "/clinkReceive") + public Result clinkReceive(@ApiParam(name = "活动规则ID", value = "subId", example = "1") + @RequestParam(value = "subId") long subId) { + return activityService.clinkReceive(subId); + } + + } diff --git a/src/main/java/com/xcong/excoin/modules/activity/dao/ActivityReceiveRecordDao.java b/src/main/java/com/xcong/excoin/modules/activity/dao/ActivityReceiveRecordDao.java index ed7e680..e3dc8fd 100644 --- a/src/main/java/com/xcong/excoin/modules/activity/dao/ActivityReceiveRecordDao.java +++ b/src/main/java/com/xcong/excoin/modules/activity/dao/ActivityReceiveRecordDao.java @@ -1,7 +1,12 @@ package com.xcong.excoin.modules.activity.dao; +import java.util.List; + +import org.apache.ibatis.annotations.Param; + import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xcong.excoin.modules.activity.entity.ActivityReceiveRecord; +import com.xcong.excoin.modules.activity.vo.ActivityReceiveRecordVo; /** * @description 活动记录表 @@ -10,4 +15,6 @@ */ public interface ActivityReceiveRecordDao extends BaseMapper<ActivityReceiveRecord>{ + List<ActivityReceiveRecordVo> selectListByMemberIdAndMainId(@Param("memberId")Long memberId, @Param("mainId")long id); + } \ No newline at end of file diff --git a/src/main/java/com/xcong/excoin/modules/activity/entity/ActivityMain.java b/src/main/java/com/xcong/excoin/modules/activity/entity/ActivityMain.java index f2f586c..da64dc0 100644 --- a/src/main/java/com/xcong/excoin/modules/activity/entity/ActivityMain.java +++ b/src/main/java/com/xcong/excoin/modules/activity/entity/ActivityMain.java @@ -64,6 +64,10 @@ private BigDecimal amount; + /** + * banner图Id + */ + private Long bannerId; diff --git a/src/main/java/com/xcong/excoin/modules/activity/entity/ActivityReceiveRecord.java b/src/main/java/com/xcong/excoin/modules/activity/entity/ActivityReceiveRecord.java index 5b600f7..6e0a11d 100644 --- a/src/main/java/com/xcong/excoin/modules/activity/entity/ActivityReceiveRecord.java +++ b/src/main/java/com/xcong/excoin/modules/activity/entity/ActivityReceiveRecord.java @@ -17,10 +17,7 @@ @TableName("activity_receive_record") public class ActivityReceiveRecord extends BaseEntity{ private static final long serialVersionUID = 1L; - - - /** * 用户ID @@ -58,10 +55,11 @@ private Long amcId; /** - * 激活状态1已激活2未激活 + *激活状态1已激活2未激活3已失效 */ - - + public static final Integer RECEIVESTATE_ONE = 1; + public static final Integer RECEIVESTATE_TWO = 2; + public static final Integer RECEIVESTATE_THREE = 3; private Integer receiveState; /** @@ -74,8 +72,8 @@ /** * 失效时间 */ - - + //激活后在当前时间的基础上新增30天 + public static final long DAYS = 30; private Date invalidTime; diff --git a/src/main/java/com/xcong/excoin/modules/activity/entity/ActivitySub.java b/src/main/java/com/xcong/excoin/modules/activity/entity/ActivitySub.java index 1929353..321f414 100644 --- a/src/main/java/com/xcong/excoin/modules/activity/entity/ActivitySub.java +++ b/src/main/java/com/xcong/excoin/modules/activity/entity/ActivitySub.java @@ -14,11 +14,8 @@ @TableName("activity_sub") public class ActivitySub extends BaseEntity{ private static final long serialVersionUID = 1L; - - - /** * 活动主表ID */ @@ -29,6 +26,15 @@ /** * 规则code */ + public static final String CODE_ONE = "CODE_ONE"; + public static final String CODE_TWO = "CODE_TWO"; + public static final BigDecimal CODE_TWO_BIG_DECIMAL = new BigDecimal(200); + public static final String CODE_THREE = "CODE_THREE"; + public static final BigDecimal CODE_THREE_BIG_DECIMAL = new BigDecimal(500); + public static final String CODE_FOUR = "CODE_FOUR"; + public static final BigDecimal CODE_FOUR_BIG_DECIMAL = new BigDecimal(900); + public static final String CODE_FIVE = "CODE_FIVE"; + public static final BigDecimal CODE_FIVE_BIG_DECIMAL = new BigDecimal(1900); private String code; @@ -38,14 +44,14 @@ */ - private String name ; + private String name; /** * 条件 */ - private String condition; + private String conditions; /** * 奖励金额 diff --git a/src/main/java/com/xcong/excoin/modules/activity/service/ActivityService.java b/src/main/java/com/xcong/excoin/modules/activity/service/ActivityService.java index 0c2cf7b..b712b62 100644 --- a/src/main/java/com/xcong/excoin/modules/activity/service/ActivityService.java +++ b/src/main/java/com/xcong/excoin/modules/activity/service/ActivityService.java @@ -6,6 +6,10 @@ public interface ActivityService extends IService<ActivityMain> { - Result getActivityMainList(); + Result getActivityMain(); + + Result getActivityMainDetail(long id); + + Result clinkReceive(long subId); } diff --git a/src/main/java/com/xcong/excoin/modules/activity/service/impl/ActivityServiceImpl.java b/src/main/java/com/xcong/excoin/modules/activity/service/impl/ActivityServiceImpl.java index a4b34d8..10b717f 100644 --- a/src/main/java/com/xcong/excoin/modules/activity/service/impl/ActivityServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/activity/service/impl/ActivityServiceImpl.java @@ -1,17 +1,46 @@ package com.xcong.excoin.modules.activity.service.impl; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + import javax.annotation.Resource; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.xcong.excoin.common.LoginUserUtils; +import com.xcong.excoin.common.enumerates.MemberWalletCoinEnum; import com.xcong.excoin.common.response.Result; import com.xcong.excoin.modules.activity.dao.ActivityMainDao; import com.xcong.excoin.modules.activity.dao.ActivityMemberDetailDao; import com.xcong.excoin.modules.activity.dao.ActivityReceiveRecordDao; import com.xcong.excoin.modules.activity.dao.ActivitySubDao; import com.xcong.excoin.modules.activity.entity.ActivityMain; +import com.xcong.excoin.modules.activity.entity.ActivityMemberDetail; +import com.xcong.excoin.modules.activity.entity.ActivityReceiveRecord; +import com.xcong.excoin.modules.activity.entity.ActivitySub; import com.xcong.excoin.modules.activity.service.ActivityService; +import com.xcong.excoin.modules.activity.vo.ActivityMainDetailVo; +import com.xcong.excoin.modules.activity.vo.ActivityMainVo; +import com.xcong.excoin.modules.activity.vo.ActivityReceiveRecordVo; +import com.xcong.excoin.modules.coin.dao.MemberAccountMoneyChangeDao; +import com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange; +import com.xcong.excoin.modules.contract.dao.ContractOrderDao; +import com.xcong.excoin.modules.contract.entity.ContractOrderEntity; +import com.xcong.excoin.modules.documentary.vo.MemberIsTradeVo; +import com.xcong.excoin.modules.member.dao.MemberDao; +import com.xcong.excoin.modules.member.dao.MemberWalletCoinDao; +import com.xcong.excoin.modules.member.entity.MemberEntity; +import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity; +import com.xcong.excoin.modules.platform.dao.PlatformBannerDao; +import com.xcong.excoin.modules.platform.entity.PlatformBannerEntity; +import com.xcong.excoin.utils.MessageSourceUtils; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import lombok.extern.slf4j.Slf4j; @Slf4j @@ -26,11 +55,216 @@ private ActivityMemberDetailDao activityMemberDetailDao; @Resource private ActivityReceiveRecordDao activityReceiveRecordDao; + @Resource + private MemberDao memberDao; + @Resource + PlatformBannerDao platformBannerDao; + @Resource + ContractOrderDao contractOrderDao; + @Resource + MemberAccountMoneyChangeDao memberAccountMoneyChangeDao; + @Resource + MemberWalletCoinDao memberWalletCoinDao; @Override - public Result getActivityMainList() { - // TODO Auto-generated method stub - return null; + public Result getActivityMain() { + //登录验证 + LoginUserUtils.getAppLoginUser().getId(); + + ActivityMainVo activityMainVo = new ActivityMainVo(); + //活动图片 + QueryWrapper<PlatformBannerEntity> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_banner",PlatformBannerEntity.BANNER_NO); + PlatformBannerEntity platformBannerEntity = platformBannerDao.selectOne(queryWrapper); + //查询图片绑定的活动 + if(ObjectUtil.isNotEmpty(platformBannerEntity)) { + activityMainVo.setImageUrl(platformBannerEntity.getImageUrl()); + activityMainVo.setIsJump(Integer.parseInt(platformBannerEntity.getIsJump())); + + QueryWrapper<ActivityMain> queryWrappers = new QueryWrapper<>(); + queryWrappers.eq("banner_id",platformBannerEntity.getId()); + ActivityMain activityMain = activityMainDao.selectOne(queryWrappers); + if(ObjectUtil.isNotEmpty(activityMain)) { + activityMainVo.setId(activityMain.getId()); + } + } + return Result.ok(activityMainVo); } + @Override + public Result getActivityMainDetail(long id) { + //登录验证 + Long memberId = LoginUserUtils.getAppLoginUser().getId(); + ActivityMainDetailVo activityMainDetailVo = new ActivityMainDetailVo(); + + /** + * 头部信息 + */ + QueryWrapper<ActivityMemberDetail> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("member_id",memberId); + queryWrapper.eq("main_id",id); + ActivityMemberDetail activityMemberDetail = activityMemberDetailDao.selectOne(queryWrapper); + //获取当前人的累计爆仓金额 + BigDecimal burstUsdt = contractOrderDao.getBurstUsdtByMemberId(memberId); + activityMainDetailVo.setBurstUsdt(burstUsdt); + activityMainDetailVo.setReceivedUsdt(activityMemberDetail.getReceivedUsdt()); + activityMainDetailVo.setSurplusUsdt(activityMemberDetail.getSurplusUsdt()); + /** + * 活动名称 + */ + ActivityMain activityMain = activityMainDao.selectById(id); + activityMainDetailVo.setName(activityMain.getName()); + activityMainDetailVo.setContent(activityMain.getContent()); + activityMainDetailVo.setState(activityMain.getState()); + activityMainDetailVo.setStartTime(activityMain.getStartTime()); + activityMainDetailVo.setEndTime(activityMain.getEndTime()); + /** + * 活动细则 + */ + //根据活动主表ID和memberID获取对应的活动细则 + List<ActivityReceiveRecordVo> activityReceiveRecordVos = activityReceiveRecordDao.selectListByMemberIdAndMainId(memberId,id); + activityMainDetailVo.setActivityReceiveRecordVos(activityReceiveRecordVos); + return Result.ok(activityMainDetailVo); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Result clinkReceive(long subId) { + //登录验证 + Long memberId = LoginUserUtils.getAppLoginUser().getId(); + //验证是否实名认证 + MemberEntity memberEntity = memberDao.selectById(memberId); + Integer certifyStatus = memberEntity.getCertifyStatus(); + if(MemberEntity.CERTIFY_STATUS_Y != certifyStatus) { + return Result.fail(MessageSourceUtils.getString("activity_service_0001")); + } + //验证领取记录是否失效 + QueryWrapper<ActivityReceiveRecord> queryWrapperActivityReceiveRecord = new QueryWrapper<>(); + queryWrapperActivityReceiveRecord.eq("member_id",memberId); + queryWrapperActivityReceiveRecord.eq("sub_id",subId); + ActivityReceiveRecord activityReceiveRecord = activityReceiveRecordDao.selectOne(queryWrapperActivityReceiveRecord); + Date receiveTime = activityReceiveRecord.getReceiveTime(); + Date date = new Date(); + if(receiveTime.getTime() - date.getTime() < 0) { + return Result.fail(MessageSourceUtils.getString("activity_service_0002")); + } + //验证当前活动是否结束 + ActivityMain activityMain = activityMainDao.selectById(activityReceiveRecord.getMainId()); + Date endTime = activityMain.getEndTime(); + if(endTime.getTime() - date.getTime() < 0) { + return Result.fail(MessageSourceUtils.getString("activity_service_0004")); + } + + //处于失效状态 + Integer receiveState = activityReceiveRecord.getReceiveState(); + if(ActivityReceiveRecord.RECEIVESTATE_THREE == receiveState) { + return Result.fail(MessageSourceUtils.getString("activity_service_0002")); + } + //不能重复领取 + if(ActivityReceiveRecord.RECEIVESTATE_ONE == receiveState) { + return Result.fail(MessageSourceUtils.getString("activity_service_0003")); + } + + //获取对应的规则编码 + ActivitySub activitySub = activitySubDao.selectById(subId); + String code = activitySub.getCode(); + //获取当前人的累计爆仓金额 + BigDecimal burstUsdt = contractOrderDao.getBurstUsdtByMemberId(memberId); + //判断是否满足领取条件 + if(ActivitySub.CODE_TWO.equals(code)) { + if(ActivitySub.CODE_TWO_BIG_DECIMAL.compareTo(burstUsdt) > 0) { + return Result.fail(MessageSourceUtils.getString("activity_service_0005")); + } + } + if(ActivitySub.CODE_THREE.equals(code)) { + if(ActivitySub.CODE_THREE_BIG_DECIMAL.compareTo(burstUsdt) > 0) { + return Result.fail(MessageSourceUtils.getString("activity_service_0005")); + } + } + if(ActivitySub.CODE_FOUR.equals(code)) { + if(ActivitySub.CODE_FOUR_BIG_DECIMAL.compareTo(burstUsdt) > 0) { + return Result.fail(MessageSourceUtils.getString("activity_service_0005")); + } + } + if(ActivitySub.CODE_FIVE.equals(code)) { + if(ActivitySub.CODE_FIVE_BIG_DECIMAL.compareTo(burstUsdt) > 0) { + return Result.fail(MessageSourceUtils.getString("activity_service_0005")); + } + } + + Long mainId = activitySub.getMainId(); + BigDecimal amount = activitySub.getAmount(); + /** + * 更新领取记录表 + */ + activityReceiveRecord.setReceiveCoinAmount(amount); + activityReceiveRecord.setReceiveState(ActivityReceiveRecord.RECEIVESTATE_ONE); + activityReceiveRecord.setReceiveTime(new Date()); + activityReceiveRecordDao.updateById(activityReceiveRecord); + /** + * 更新个人详情页面信息 + */ + QueryWrapper<ActivityMemberDetail> queryWrapperMemberDetail = new QueryWrapper<>(); + queryWrapperMemberDetail.eq("member_id",memberId); + queryWrapperMemberDetail.eq("main_id",mainId); + ActivityMemberDetail activityMemberDetail = activityMemberDetailDao.selectOne(queryWrapperMemberDetail); + //累计爆仓金额 + activityMemberDetail.setBurstUsdt(burstUsdt); + //已领取USDT + BigDecimal receivedUsdt = activityMemberDetail.getReceivedUsdt(); + BigDecimal addReceivedUsdt = receivedUsdt.add(amount); + activityMemberDetail.setReceivedUsdt(addReceivedUsdt); + //剩余待领取 + BigDecimal amountMain = activityMain.getAmount(); + BigDecimal subtractSurplusUsdt = amountMain.subtract(addReceivedUsdt); + activityMemberDetail.setSurplusUsdt(subtractSurplusUsdt); + activityMemberDetailDao.updateById(activityMemberDetail); + /** + * 生成一个币币流水记录 + */ + MemberAccountMoneyChange memberAccountMoneyChange = new MemberAccountMoneyChange(); + memberAccountMoneyChange.setContent(MemberWalletCoinEnum.CONTENTFROMACTIVITY.getValue()); + memberAccountMoneyChange.setMemberId(memberId); + memberAccountMoneyChange.setAmount(amount); + memberAccountMoneyChange.setStatus(MemberAccountMoneyChange.STATUS_SUCCESS_INTEGER); + memberAccountMoneyChange.setSymbol(MemberWalletCoinEnum.WALLETCOINCODE.getValue()); + memberAccountMoneyChange.setType(MemberAccountMoneyChange.TYPE_WALLET_COIN); + memberAccountMoneyChangeDao.insert(memberAccountMoneyChange); + /** + * 更新币币账户 + */ + MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, MemberWalletCoinEnum.WALLETCOINCODE.getValue()); + BigDecimal availableBalance = memberWalletCoinEntity.getAvailableBalance(); + BigDecimal totalBalance = memberWalletCoinEntity.getTotalBalance(); + availableBalance.add(amount); + totalBalance.add(amount); + memberWalletCoinDao.updateById(memberWalletCoinEntity); + return Result.ok(MessageSourceUtils.getString("activity_service_0006")); + } + + + + + + + + + + + + + + + + + + + + + + + + + + } diff --git a/src/main/java/com/xcong/excoin/modules/activity/vo/ActivityMainDetailVo.java b/src/main/java/com/xcong/excoin/modules/activity/vo/ActivityMainDetailVo.java new file mode 100644 index 0000000..d495ab8 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/activity/vo/ActivityMainDetailVo.java @@ -0,0 +1,47 @@ +package com.xcong.excoin.modules.activity.vo; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "ActivityMainDetailVo", description = "参数返回类") +public class ActivityMainDetailVo { + + /** + * 头部信息 + */ + @ApiModelProperty("累计爆仓额度") + private BigDecimal burstUsdt; + @ApiModelProperty("已领取USDT") + private BigDecimal receivedUsdt; + @ApiModelProperty("剩余待领取") + private BigDecimal surplusUsdt; + /** + * 活动名称 + */ + @ApiModelProperty("活动名称") + private String name; + @ApiModelProperty("内容") + private String content; + @ApiModelProperty("活动状态1:开始2结束") + private Integer state; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @ApiModelProperty("开始时间") + private Date startTime; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @ApiModelProperty("结束时间") + private Date endTime; + /** + * 活动细则 + */ + @ApiModelProperty("活动卷") + private List<ActivityReceiveRecordVo> activityReceiveRecordVos; + +} diff --git a/src/main/java/com/xcong/excoin/modules/activity/vo/ActivityMainListVo.java b/src/main/java/com/xcong/excoin/modules/activity/vo/ActivityMainListVo.java deleted file mode 100644 index 89ce936..0000000 --- a/src/main/java/com/xcong/excoin/modules/activity/vo/ActivityMainListVo.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.xcong.excoin.modules.activity.vo; - -import io.swagger.annotations.ApiModel; -import lombok.Data; - -@Data -@ApiModel(value = "ActivityMainListVo", description = "参数返回类") -public class ActivityMainListVo { - -} diff --git a/src/main/java/com/xcong/excoin/modules/activity/vo/ActivityMainVo.java b/src/main/java/com/xcong/excoin/modules/activity/vo/ActivityMainVo.java new file mode 100644 index 0000000..029b57f --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/activity/vo/ActivityMainVo.java @@ -0,0 +1,18 @@ +package com.xcong.excoin.modules.activity.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "ActivityMainVo", description = "参数返回类") +public class ActivityMainVo { + + @ApiModelProperty("图片链接") + private String imageUrl; + @ApiModelProperty("活动ID") + private Long id; + @ApiModelProperty("是否可跳转 1-是2-否") + private int isJump; + +} diff --git a/src/main/java/com/xcong/excoin/modules/activity/vo/ActivityReceiveRecordVo.java b/src/main/java/com/xcong/excoin/modules/activity/vo/ActivityReceiveRecordVo.java new file mode 100644 index 0000000..6688af3 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/activity/vo/ActivityReceiveRecordVo.java @@ -0,0 +1,32 @@ +package com.xcong.excoin.modules.activity.vo; + +import java.math.BigDecimal; +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "ActivityReceiveRecordVo", description = "参数返回类") +public class ActivityReceiveRecordVo { + + @ApiModelProperty("活动规则ID") + private Long subId; + @ApiModelProperty("规则名称") + private String subName; + @ApiModelProperty("规则code") + private String subcode; + @ApiModelProperty("规则奖励金额") + private BigDecimal subAmount; + @ApiModelProperty("条件") + private String subConditions; + @ApiModelProperty("激活状态1已激活2未激活3已领取") + private Integer receiveState; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @ApiModelProperty("失效时间") + private Date invalidTime; + +} diff --git a/src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java index 54137a2..1ef44c6 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java +++ b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java @@ -31,4 +31,6 @@ BigDecimal selectWholeFeeAmountByOrderNo(@Param("orderNo") String orderNo); int updateOrderProfitOrLessById(@Param("rewardAmount") BigDecimal rewardAmount, @Param("rewardRatio") BigDecimal rewardRatio, @Param("id") Long id); + + public BigDecimal getBurstUsdtByMemberId(@Param("memberId") Long memberId); } diff --git a/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformBannerEntity.java b/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformBannerEntity.java index 6a511c6..5d0bf28 100644 --- a/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformBannerEntity.java +++ b/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformBannerEntity.java @@ -44,4 +44,11 @@ * 是否置顶 1-是2-否 */ private String isTop; + /** + * 是不是Banner图 1-是2-否 + */ + private int isBanner; + + public static final int BANNER_YES = 1; + public static final int BANNER_NO = 2; } diff --git a/src/main/java/com/xcong/excoin/modules/platform/service/impl/PlatformBannerServiceImpl.java b/src/main/java/com/xcong/excoin/modules/platform/service/impl/PlatformBannerServiceImpl.java index a6e0c72..972edd7 100644 --- a/src/main/java/com/xcong/excoin/modules/platform/service/impl/PlatformBannerServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/platform/service/impl/PlatformBannerServiceImpl.java @@ -23,6 +23,7 @@ @Override public Result findAll() { QueryWrapper<PlatformBannerEntity> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_banner",1); List<PlatformBannerEntity> paymentMethodList = platformBannerDao.selectList(queryWrapper); return Result.ok(paymentMethodList); } diff --git a/src/main/resources/i18n/messages_en_US.properties b/src/main/resources/i18n/messages_en_US.properties index 1b5f99a..da67cfb 100644 --- a/src/main/resources/i18n/messages_en_US.properties +++ b/src/main/resources/i18n/messages_en_US.properties @@ -233,6 +233,13 @@ documentary_service_0018=In documentary, cannot adjust to full position margin mode documentary_service_0019=The follower has a documentary contract and cannot kick out +activity_service_0001=Please pass the real name authentication first +activity_service_0002=Currently invalid +activity_service_0003=Cannot activate repeatedly +activity_service_0004=The activity has ended +activity_service_0005=Can't get it if you don't meet the conditions +activity_service_0006=Received successfully, it has been issued to currency account + uploadFile_controller_0001=Upload failed result_success_msg=Operation success diff --git a/src/main/resources/i18n/messages_zh_CN.properties b/src/main/resources/i18n/messages_zh_CN.properties index fa50004..339b722 100644 --- a/src/main/resources/i18n/messages_zh_CN.properties +++ b/src/main/resources/i18n/messages_zh_CN.properties @@ -233,6 +233,13 @@ documentary_service_0018=正在跟单中,无法调整为全仓保证金模式 documentary_service_0019=跟随者拥有跟单合约,无法踢出 +activity_service_0001=请先通过实名认证 +activity_service_0002=已失效 +activity_service_0003=无法重复激活 +activity_service_0004=活动已结束 +activity_service_0005=不满足领取条件,无法领取 +activity_service_0006=领取成功,已发放至币币账户 + uploadFile_controller_0001=上传失败 result_success_msg=操作成功 diff --git a/src/main/resources/mapper/activity/ActivityReceiveRecordDao.xml b/src/main/resources/mapper/activity/ActivityReceiveRecordDao.xml index 23dfcf7..db12e2c 100644 --- a/src/main/resources/mapper/activity/ActivityReceiveRecordDao.xml +++ b/src/main/resources/mapper/activity/ActivityReceiveRecordDao.xml @@ -38,4 +38,21 @@ <result property="invalidTime" column="invalid_time" /> </resultMap> + <select id="selectListByMemberIdAndMainId" resultType="com.xcong.excoin.modules.activity.vo.ActivityReceiveRecordVo"> + SELECT + a.receive_state receiveState, + a.invalid_time invalidTime, + b.id subId, + b.`name` subName, + b.code subcode, + b.conditions subConditions, + b.amount subAmount + FROM + activity_receive_record a + LEFT JOIN activity_sub b ON a.sub_id = b.id + WHERE + a.main_id = #{mainId} + AND a.member_id = #{memberId} + </select> + </mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/contract/ContractOrderDao.xml b/src/main/resources/mapper/contract/ContractOrderDao.xml index d0441d5..ff042eb 100644 --- a/src/main/resources/mapper/contract/ContractOrderDao.xml +++ b/src/main/resources/mapper/contract/ContractOrderDao.xml @@ -97,4 +97,14 @@ reward_ratio=#{rewardRatio} where id=#{id} </update> + + <select id="getBurstUsdtByMemberId" resultType="java.math.BigDecimal"> + SELECT + IFNULL(SUM(reward_amount), 0) + FROM + contract_order + WHERE + closing_type IN (4, 5) + and member_id=#{memberId} + </select> </mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/member/MemberAccountMoneyChangeDao.xml b/src/main/resources/mapper/member/MemberAccountMoneyChangeDao.xml index 894e026..90a0164 100644 --- a/src/main/resources/mapper/member/MemberAccountMoneyChangeDao.xml +++ b/src/main/resources/mapper/member/MemberAccountMoneyChangeDao.xml @@ -64,7 +64,7 @@ <if test="record != null"> <where> type = 3 - and content like '%佣金到账%' + and (content like '%佣金到账%' or content like '%活动%') <if test="record.memberId != null" > and member_id=#{record.memberId} </if> -- Gitblit v1.9.1