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/activity/entity/ActivitySignAwardSet.java          |    3 
 zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-update.html        |   29 ++++-
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SignSuccessVo.java                  |  150 ++++++++++++++++++++++++++++++
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java |   77 +++++++++++++-
 zq-erp/src/main/resources/templates/views/admin/activity/activity-sign.html               |   24 ++--
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SignBasicInfoVo.java                |    5 +
 6 files changed, 261 insertions(+), 27 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignAwardSet.java b/zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignAwardSet.java
index ccfea36..985978f 100644
--- a/zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignAwardSet.java
+++ b/zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignAwardSet.java
@@ -99,6 +99,9 @@
 
 	@ApiModelProperty(value ="兑奖方式(1:线下兑换2:物流配送3:客服兑换)")
 	private int  awardWay;
+	public static final int AWARDWAY_ONE = 1;
+	public static final int AWARDWAY_TWO = 2;
+	public static final int AWARDWAY_THREE = 3;
 	
 	/**
 	 * 奖品是否有效(1:有效 2:无效)
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;
     }
 }
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SignBasicInfoVo.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SignBasicInfoVo.java
index bdc3db8..6fb1263 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SignBasicInfoVo.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SignBasicInfoVo.java
@@ -16,6 +16,11 @@
 	 * 主键
 	 */
 	private Long  id;
+	@ApiModelProperty(value ="活动今日是否已参与 1:未参与 2:已参与")
+    private int joinState;
+
+	public static final int JOINSTATE_NOTSIGN = 1;
+	public static final int JOINSTATE_SIGN = 2;
 	
 	@ApiModelProperty(value ="活动名称")
     private String actName;
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SignSuccessVo.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SignSuccessVo.java
new file mode 100644
index 0000000..8971d19
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SignSuccessVo.java
@@ -0,0 +1,150 @@
+package com.matrix.system.shopXcx.api.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+
+@ApiModel(value = "SignSuccessVo", description = "签到活动")
+public class SignSuccessVo {
+
+	@ApiModelProperty(value ="日常奖励名称")
+	private String normalAwardName;
+	@ApiModelProperty(value ="日常奖励图片")
+	private String normalAwardImg;
+	
+	@ApiModelProperty(value ="累计奖励名称")
+	private String awardName;
+	@ApiModelProperty(value ="累计奖励图片")
+	private String awardImg;
+	@ApiModelProperty(value ="累计奖励核销码")
+	private String  writeOffCode;
+	
+	@ApiModelProperty(value ="奖项类型(1:自定义产品2:积分3:优惠券4:店铺商品)")
+	private int  awardType;
+
+
+	public static final int AWARDTYPE_CUSTOMIZE = 1;
+	public static final int AWARDTYPE_SCORE = 2;
+	public static final int AWARDTYPE_COUPON = 3;
+	public static final int AWARDTYPE_GOODS = 4;
+	
+	@ApiModelProperty(value ="文字介绍")
+	private String  introduceTip;
+	
+	/**
+	 * 奖项库存数量
+	 */
+
+
+	@ApiModelProperty(value ="奖项库存数量")
+	private int  awardInventoryCnt;
+	
+	/**
+	 * 已派发数量
+	 */
+
+
+	@ApiModelProperty(value ="已派发数量")
+	private int  awardDistributeCnt;
+	
+	/**
+	 * 兑奖方式(1:线下兑换2:物流配送3:客服兑换)
+	 */
+
+
+	@ApiModelProperty(value ="兑奖方式(1:线下兑换2:物流配送3:客服兑换)")
+	private int  awardWay;
+	
+	/**
+	 * 奖品是否有效(1:有效 2:无效)
+	 */
+	@ApiModelProperty(value ="奖品是否有效(1:有效 2:无效)")
+	private int  awardState;
+	public static final int AWARDSTATE_WORK = 1;
+	public static final int AWARDSTATE_UNWORK = 2;
+	
+	/**
+	 * 操作提示
+	 */
+
+	@ApiModelProperty(value ="操作提示")
+	private String  operationTip;
+	
+	/**
+	 * 兑奖地址
+	 */
+
+	@ApiModelProperty(value ="兑奖地址")
+	private String  prizeAddress;
+	
+	/**
+	 * 兑奖期限开始日期
+	 */
+
+
+	@ApiModelProperty(value ="兑奖期限开始日期")
+	private Date  prizeStartTime;
+	
+	/**
+	 * 兑奖期限结束日期
+	 */
+
+	@ApiModelProperty(value ="兑奖期限结束日期")
+	private Date  prizeEndTime;
+	
+	/**
+	 * 客服微信
+	 */
+
+	@ApiModelProperty(value ="客服微信")
+	private String  wechatImg;
+	
+	/**
+	 * 积分数量
+	 */
+
+
+	@ApiModelProperty(value ="积分数量")
+	private int  scoreCnt;
+	
+	/**
+	 * 优惠券ID
+	 */
+
+	@ApiModelProperty(value ="优惠券")
+	private String  couponName;
+
+	@ApiModelProperty(value ="优惠券ID")
+	private String  couponId;
+	
+	/**
+	 * 商品ID
+	 */
+
+	@ApiModelProperty(value ="商品")
+	private String  goodsName;
+
+	@ApiModelProperty(value ="商品ID")
+	private String  goodsId;
+	
+	/**
+	 * 活动主表ID
+	 */
+
+
+	@ApiModelProperty(value ="活动主表ID")
+	private Long  activityId;
+	
+	/**
+	 * 公司ID
+	 */
+
+
+	@ApiModelProperty(value ="公司ID")
+	private Long  companyId;
+
+}
diff --git a/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-update.html b/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-update.html
index 5b1320e..1780ed7 100644
--- a/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-update.html
+++ b/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-update.html
@@ -297,7 +297,7 @@
                                                         </el-form-item>
                                                     </el-col>
                                                     <el-col>
-                                                        <el-button type="primary">
+                                                        <el-button type="primary" @click="chooseCoupon(item.content.couponName,item.name)">
                                                             选择优惠券
                                                         </el-button>
                                                     </el-col>
@@ -377,7 +377,7 @@
                                                         </el-form-item>
                                                     </el-col>
                                                     <el-col>
-                                                        <el-button type="primary">
+                                                        <el-button type="primary" @click="chooseGoods(item.content.goodsName,item.name)">
                                                             选择品项
                                                         </el-button>
                                                     </el-col>
@@ -579,6 +579,8 @@
             imageUrlButton: '',
             imageUrlState: '',
 
+            activeClickTab:0,
+
             //优惠券搜索弹出
             drawerCoupon: false,
             directionCoupon: 'rtl',
@@ -660,9 +662,10 @@
         },
         methods: {
             //选择优惠券
-            chooseCoupon(val){
+            chooseCoupon(val,name){
                 let _this = this;
                 _this.drawerCoupon = true;
+                _this.activeClickTab = parseInt(name);
                 _this.formCoupon.yhjmc = val;
                 _this.loadCouponList();
             },
@@ -713,11 +716,19 @@
             //选择
             chooseOneCoupon(row) {
                 let _this = this;
-                _this.editableTabs[_this.tabIndex-1].content.couponId = row.id;
-                _this.editableTabs[_this.tabIndex-1].content.couponName = row.cname;
+                _this.editableTabs[_this.activeClickTab-1].content.couponId = row.id;
+                _this.editableTabs[_this.activeClickTab-1].content.couponName = row.cname;
                 _this.drawerCoupon = false;
             },
 
+            //选择品项
+            chooseGoods(val,name){
+                let _this = this;
+                _this.drawerGoods = true;
+                _this.activeClickTab = parseInt(name);
+                _this.formGoods.cpmc = val;
+                _this.loadGoodsList();
+            },
             //--品项
             loadGoodsList() {
                 let _this = this;
@@ -763,8 +774,8 @@
             //选择
             chooseOneGoods(row) {
                 let _this = this;
-                _this.editableTabs[_this.tabIndex-1].content.goodsId = row.id;
-                _this.editableTabs[_this.tabIndex-1].content.goodsName = row.name;
+                _this.editableTabs[_this.activeClickTab-1].content.goodsId = row.id;
+                _this.editableTabs[_this.activeClickTab-1].content.goodsName = row.name;
                 _this.drawerGoods = false;
             },
 
@@ -993,11 +1004,11 @@
             },
             //奖品设置的图片介绍
             introduceImgSuccess(res, file) {
-                this.editableTabs[this.tabIndex-1].content.introduceImg = res.path;
+                this.editableTabs[this.activeClickTab-1].content.introduceImg = res.path;
             },
             //奖品设置的客服微信
             wechatImgSuccess(res, file) {
-                this.editableTabs[this.tabIndex-1].content.wechatImg = res.path;
+                this.editableTabs[this.activeClickTab-1].content.wechatImg = res.path;
             },
             cancelSubmit() {
                 this.closeFrame();
diff --git a/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign.html b/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign.html
index 44d8841..5460aeb 100644
--- a/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign.html
+++ b/zq-erp/src/main/resources/templates/views/admin/activity/activity-sign.html
@@ -304,7 +304,7 @@
                                                             </el-form-item>
                                                         </el-col>
                                                         <el-col>
-                                                            <el-button type="primary" @click="chooseCoupon(item.content.couponName)">
+                                                            <el-button type="primary" @click="chooseCoupon(item.content.couponName,item.name)">
                                                                 选择优惠券
                                                             </el-button>
                                                         </el-col>
@@ -383,7 +383,7 @@
                                                             </el-form-item>
                                                         </el-col>
                                                         <el-col>
-                                                            <el-button type="primary" @click="chooseGoods(item.content.goodsName)">
+                                                            <el-button type="primary" @click="chooseGoods(item.content.goodsName,item.name)">
                                                                 选择品项
                                                             </el-button>
                                                         </el-col>
@@ -578,6 +578,8 @@
         data: {
             activeName: 'first',
             formLabelWidth: '120px',
+
+            activeClickTab:0,
             //优惠券搜索弹出
             drawerCoupon: false,
             directionCoupon: 'rtl',
@@ -664,9 +666,10 @@
         },
         methods: {
             //选择优惠券
-            chooseCoupon(val){
+            chooseCoupon(val,name){
                 let _this = this;
                 _this.drawerCoupon = true;
+                _this.activeClickTab = parseInt(name);
                 _this.formCoupon.yhjmc = val;
                 _this.loadCouponList();
             },
@@ -717,15 +720,16 @@
             //选择
             chooseOneCoupon(row) {
                 let _this = this;
-                _this.editableTabs[_this.tabIndex-1].content.couponId = row.id;
-                _this.editableTabs[_this.tabIndex-1].content.couponName = row.cname;
+                _this.editableTabs[_this.activeClickTab-1].content.couponId = row.id;
+                _this.editableTabs[_this.activeClickTab-1].content.couponName = row.cname;
                 _this.drawerCoupon = false;
             },
 
             //选择品项
-            chooseGoods(val){
+            chooseGoods(val,name){
                 let _this = this;
                 _this.drawerGoods = true;
+                _this.activeClickTab = parseInt(name);
                 _this.formGoods.cpmc = val;
                 _this.loadGoodsList();
             },
@@ -774,8 +778,8 @@
             //选择
             chooseOneGoods(row) {
                 let _this = this;
-                _this.editableTabs[_this.tabIndex-1].content.goodsId = row.id;
-                _this.editableTabs[_this.tabIndex-1].content.goodsName = row.name;
+                _this.editableTabs[_this.activeClickTab-1].content.goodsId = row.id;
+                _this.editableTabs[_this.activeClickTab-1].content.goodsName = row.name;
                 _this.drawerGoods = false;
             },
 
@@ -928,12 +932,12 @@
             },
             //奖品设置的图片介绍
             introduceImgSuccess(res, file) {
-                this.editableTabs[this.tabIndex-1].content.introduceImg = res.path;
+                this.editableTabs[this.activeClickTab-1].content.introduceImg = res.path;
                 // this.prize.introduceImg = URL.createObjectURL(file.raw);
             },
             //奖品设置的客服微信
             wechatImgSuccess(res, file) {
-                this.editableTabs[this.tabIndex-1].content.wechatImg = res.path;
+                this.editableTabs[this.activeClickTab-1].content.wechatImg = res.path;
             },
             cancelSubmit() {
                 this.closeFrame();

--
Gitblit v1.9.1