xiaoyong931011
2021-03-19 3f22b35a5c8327b9def2ae5ff0514fdc4c53771f
20210318 活动接口
3 files added
1 files deleted
16 files modified
488 ■■■■■ changed files
src/main/java/com/xcong/excoin/common/enumerates/MemberWalletCoinEnum.java 1 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/activity/controller/ActivityController.java 42 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/activity/dao/ActivityReceiveRecordDao.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/activity/entity/ActivityMain.java 4 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/activity/entity/ActivityReceiveRecord.java 14 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/activity/entity/ActivitySub.java 14 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/activity/service/ActivityService.java 6 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/activity/service/impl/ActivityServiceImpl.java 240 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/activity/vo/ActivityMainDetailVo.java 47 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/activity/vo/ActivityMainListVo.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/activity/vo/ActivityMainVo.java 18 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/activity/vo/ActivityReceiveRecordVo.java 32 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/platform/entity/PlatformBannerEntity.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/platform/service/impl/PlatformBannerServiceImpl.java 1 ●●●● patch | view | raw | blame | history
src/main/resources/i18n/messages_en_US.properties 7 ●●●●● patch | view | raw | blame | history
src/main/resources/i18n/messages_zh_CN.properties 7 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/activity/ActivityReceiveRecordDao.xml 17 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/contract/ContractOrderDao.xml 10 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/member/MemberAccountMoneyChangeDao.xml 2 ●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/common/enumerates/MemberWalletCoinEnum.java
@@ -17,6 +17,7 @@
    CONTENTFROMCONTRACT("0004","由合约账户转入"),
    
    CONTENTFROMAGENT("0005","由代理账户转入"),
    CONTENTFROMACTIVITY("0006","活动激活补贴"),
    
    WALLETCOINCODE("USDT", "USDT"),
    
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);
    }
}
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);
}
src/main/java/com/xcong/excoin/modules/activity/entity/ActivityMain.java
@@ -64,6 +64,10 @@
    private BigDecimal  amount;
    /**
     * banner图Id
     */
    private Long bannerId;
src/main/java/com/xcong/excoin/modules/activity/entity/ActivityReceiveRecord.java
@@ -19,9 +19,6 @@
    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;
src/main/java/com/xcong/excoin/modules/activity/entity/ActivitySub.java
@@ -16,9 +16,6 @@
    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;
@@ -45,7 +51,7 @@
     */
    private String  condition;
    private String  conditions;
    
    /**
     * 奖励金额
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);
}
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"));
    }
}
src/main/java/com/xcong/excoin/modules/activity/vo/ActivityMainDetailVo.java
New file
@@ -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;
}
src/main/java/com/xcong/excoin/modules/activity/vo/ActivityMainListVo.java
File was deleted
src/main/java/com/xcong/excoin/modules/activity/vo/ActivityMainVo.java
New file
@@ -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;
}
src/main/java/com/xcong/excoin/modules/activity/vo/ActivityReceiveRecordVo.java
New file
@@ -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;
}
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);
}
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;
}
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);
    }
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
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=操作成功
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>
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>
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>