From 97d58f5d4f48d18ef82b02167e5be55fc7913d6d Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 07 Apr 2021 15:57:57 +0800
Subject: [PATCH] 20210407 签到接口

---
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java |   77 ++++++++++++++++++++++++++++++++++----
 1 files changed, 69 insertions(+), 8 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java
index f5854d3..912f35a 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java
@@ -7,6 +7,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.matrix.component.redis.RedisUserLoginUtils;
 import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.tools.StringUtils;
 import com.matrix.system.activity.dao.ActivitySignAwardSetDao;
 import com.matrix.system.activity.dao.ActivitySignReceiveRecordDao;
 import com.matrix.system.activity.dao.ActivitySignRecordDao;
@@ -18,6 +19,7 @@
 import com.matrix.system.shopXcx.api.vo.ActivitySignAwardSetVo;
 import com.matrix.system.shopXcx.api.vo.SignBasicInfoJsonVo;
 import com.matrix.system.shopXcx.api.vo.SignBasicInfoVo;
+import com.matrix.system.shopXcx.api.vo.SignSuccessVo;
 import com.matrix.system.shopXcx.bean.ShopActivities;
 import com.matrix.system.shopXcx.dao.ShopActivitiesDao;
 import io.swagger.annotations.Api;
@@ -56,6 +58,7 @@
 		//获取登录人信息
 		SysVipInfo loginUser = redisUserLoginUtils.getLoginUser(SysVipInfo.class);
 		Long companyId = loginUser.getCompanyId();
+		Long userId = loginUser.getId();
 		//获取签到活动的信息
         SignBasicInfoVo signBasicInfoVo = new SignBasicInfoVo();
         ShopActivities shopActivities = shopActivitiesDao.selectOneByCompanyIdAndActTypeAndActStatus(companyId,ShopActivities.ACTIVITIES_TYPE_SIGN,ShopActivities.ACTSTATUS_STATUS_ING);
@@ -71,6 +74,13 @@
 				.selectListByActIDAndCompanyId(actId,companyId,ActivitySignAwardSet.AWARDSTATE_WORK);
 		signBasicInfoVo.setActivitySignAwardSetVos(activitySignAwardSetVos);
 
+		//今日是否已经参与
+        ActivitySignRecord activitySignRecord = activitySignRecordDao.selectOneByActIdAndUserIdLikesignTime(actId,userId,DateUtil.today());
+        if(ObjectUtil.isNotEmpty(activitySignRecord)) {
+        	signBasicInfoVo.setJoinState(SignBasicInfoVo.JOINSTATE_SIGN);
+        }else {
+        	signBasicInfoVo.setJoinState(SignBasicInfoVo.JOINSTATE_NOTSIGN);
+        }
         AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("");
         ajaxResult.setData(signBasicInfoVo);
         return ajaxResult;
@@ -135,6 +145,7 @@
 		 * 查询是否有签到奖品
         * 		日常奖励和自定义奖品
         */
+        SignSuccessVo signSuccessVo = new SignSuccessVo();
         //日常奖励,新增奖品领取记录
         QueryWrapper<ActivitySignAwardSet> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("award_rule",ActivitySignAwardSet.AWARDRULE_NORMAL);
@@ -150,7 +161,11 @@
         	activitySignReceiveRecord.setActivityId(actId);
         	activitySignReceiveRecord.setCompanyId(companyId);
         	activitySignReceiveRecordDao.insert(activitySignReceiveRecord);
+        	
+        	signSuccessVo.setNormalAwardName(activitySignAwardSetNormal.getAwardName());
+        	signSuccessVo.setNormalAwardImg(activitySignAwardSetNormal.getIntroduceImg());
         }
+        
         //自定义奖励
         QueryWrapper<ActivitySignAwardSet> queryWrapperCumulativeDay = new QueryWrapper<>();
         queryWrapperCumulativeDay.eq("award_rule",ActivitySignAwardSet.AWARDRULE_CUMULATIVEDAY);
@@ -159,17 +174,63 @@
         queryWrapperCumulativeDay.eq("activity_id",actId);
         ActivitySignAwardSet activitySignAwardSetCumulativeDay = activitySignAwardSetDao.selectOne(queryWrapperCumulativeDay);
         if(ObjectUtil.isNotEmpty(activitySignAwardSetCumulativeDay)) {
-        	//奖项类型(1:自定义产品2:积分3:优惠券4:店铺商品)
+        	//新增奖品领取记录
+        	ActivitySignReceiveRecord activitySignReceiveRecord = new ActivitySignReceiveRecord();
+        	activitySignReceiveRecord.setUserId(userId);
+        	activitySignReceiveRecord.setReceiveTime(date);
+        	activitySignReceiveRecord.setAwardId(activitySignAwardSetCumulativeDay.getId());
+        	activitySignReceiveRecord.setActivityId(actId);
+        	activitySignReceiveRecord.setCompanyId(companyId);
+        	activitySignReceiveRecord.setState(ActivitySignReceiveRecord.STATE_DONE);
+        	/**
+        	 * 奖项类型(1:自定义产品2:积分3:优惠券4:店铺商品)
+        	 * 
+        	 * todo:4:店铺商品
+        	 */
+        	//1:自定义产品
         	if(ActivitySignAwardSet.AWARDTYPE_CUSTOMIZE == activitySignAwardSetCumulativeDay.getAwardType()) {
-        		
+            	activitySignReceiveRecord.setState(ActivitySignReceiveRecord.STATE_ING);
+            	String randomString = StringUtils.getRandomString(8);
+            	activitySignReceiveRecord.setWriteOffCode(randomString);
+            	
+            	/**
+            	 * 获取对应奖品的领取方式(兑奖方式(1:线下兑换2:物流配送3:客服兑换)
+            	 */
+            	signSuccessVo.setWriteOffCode(randomString);
+            	signSuccessVo.setAwardType(activitySignAwardSetCumulativeDay.getAwardType());
+            	signSuccessVo.setAwardName(activitySignAwardSetCumulativeDay.getAwardName());
+            	signSuccessVo.setAwardImg(activitySignAwardSetCumulativeDay.getIntroduceImg());
+            	signSuccessVo.setAwardWay(activitySignAwardSetCumulativeDay.getAwardWay());
+				signSuccessVo.setAwardState(activitySignAwardSetCumulativeDay.getAwardState());
+				//2:物流配送
+            	signSuccessVo.setOperationTip(activitySignAwardSetCumulativeDay.getOperationTip());
+            	//1:线下兑换
+            	if(ActivitySignAwardSet.AWARDWAY_ONE == activitySignAwardSetCumulativeDay.getAwardWay()) {
+            		signSuccessVo.setIntroduceTip(activitySignAwardSetCumulativeDay.getIntroduceTip());
+            		signSuccessVo.setPrizeAddress(activitySignAwardSetCumulativeDay.getPrizeAddress());
+            		signSuccessVo.setPrizeStartTime(activitySignAwardSetCumulativeDay.getPrizeStartTime());
+            		signSuccessVo.setPrizeEndTime(activitySignAwardSetCumulativeDay.getPrizeEndTime());
+            	}
+            	//3:客服兑换
+            	if(ActivitySignAwardSet.AWARDWAY_THREE == activitySignAwardSetCumulativeDay.getAwardWay()) {
+            		signSuccessVo.setWechatImg(activitySignAwardSetCumulativeDay.getWechatImg());
+            		signSuccessVo.setPrizeStartTime(activitySignAwardSetCumulativeDay.getPrizeStartTime());
+            		signSuccessVo.setPrizeEndTime(activitySignAwardSetCumulativeDay.getPrizeEndTime());
+            	}
         	}
-        	//获取对应奖品的领取方式(兑奖方式(1:线下兑换2:物流配送3:客服兑换)
-//        	if() {
-//
-//        	}
+        	//2:积分
+        	if(ActivitySignAwardSet.AWARDTYPE_SCORE == activitySignAwardSetCumulativeDay.getAwardType()) {
+            	signSuccessVo.setScoreCnt(activitySignAwardSetCumulativeDay.getScoreCnt());
+        	}
+        	//3:优惠券
+        	if(ActivitySignAwardSet.AWARDTYPE_SCORE == activitySignAwardSetCumulativeDay.getAwardType()) {
+        		signSuccessVo.setCouponName(activitySignAwardSetCumulativeDay.getCouponName());
+        	}
+        	activitySignReceiveRecordDao.insert(activitySignReceiveRecord);
         }
         
-        
-        return AjaxResult.buildSuccessInstance("申请成功,等待审核");
+        AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("签到成功");
+        ajaxResult.setData(signSuccessVo);
+        return ajaxResult;
     }
 }

--
Gitblit v1.9.1