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