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