xiaoyong931011
2021-04-07 97d58f5d4f48d18ef82b02167e5be55fc7913d6d
20210407 签到接口
1 files added
5 files modified
288 ■■■■■ changed files
zq-erp/src/main/java/com/matrix/system/activity/entity/ActivitySignAwardSet.java 3 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxShopActivitiesSignAction.java 77 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SignBasicInfoVo.java 5 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SignSuccessVo.java 150 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/activity/activity-sign-update.html 29 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/activity/activity-sign.html 24 ●●●●● patch | view | raw | blame | history
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:无效)
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;
    }
}
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;
zq-erp/src/main/java/com/matrix/system/shopXcx/api/vo/SignSuccessVo.java
New file
@@ -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;
}
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();
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();