1 files added
6 files modified
| | |
| | | package com.matrix.system.activity.dao; |
| | | |
| | | |
| | | import cn.hutool.core.date.DateTime; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.matrix.system.activity.entity.ActivitySignRecord; |
| | | import com.matrix.system.shopXcx.api.vo.ActivitySignRecordVo; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @description 签到记录表 |
| | |
| | | ActivitySignRecord selectOneByActIdAndUserIdLikesignTime(@Param("actId")long actId, |
| | | @Param("userId")Long userId, @Param("format")Date format); |
| | | |
| | | List<ActivitySignRecordVo> selectRecordByMonth(@Param("actId")Long actId, @Param("userId")Long userId, @Param("date") DateTime date); |
| | | } |
| | |
| | | package com.matrix.system.shopXcx.api.action; |
| | | |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import cn.hutool.core.date.DateTime; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.util.ObjectUtil; |
| | |
| | | }else { |
| | | signBasicInfoVo.setJoinState(SignBasicInfoVo.JOINSTATE_NOTSIGN); |
| | | } |
| | | /** |
| | | * 默认获取当前月份 |
| | | * 已经签到的日期 |
| | | */ |
| | | List<ActivitySignRecordVo> activitySignRecordVos = activitySignRecordDao.selectRecordByMonth(actId,userId,DateUtil.date()); |
| | | if(CollUtil.isNotEmpty(activitySignRecordVos)){ |
| | | signBasicInfoVo.setActivitySignRecords(activitySignRecordVos); |
| | | signBasicInfoVo.setActAumulativeDay(activitySignRecordVos.size()); |
| | | }else{ |
| | | signBasicInfoVo.setActAumulativeDay(0); |
| | | } |
| | | |
| | | ajaxResult = AjaxResult.buildSuccessInstance(""); |
| | | ajaxResult.setData(signBasicInfoVo); |
| | | return ajaxResult; |
New file |
| | |
| | | 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 = "ActivitySignRecordVo", description = "签到明细") |
| | | public class ActivitySignRecordVo { |
| | | /** |
| | | * userId |
| | | */ |
| | | |
| | | |
| | | |
| | | @ApiModelProperty(value ="userId") |
| | | private Long userId; |
| | | |
| | | /** |
| | | * 签到时间 |
| | | */ |
| | | |
| | | |
| | | |
| | | @ApiModelProperty(value ="签到时间") |
| | | private Date signTime; |
| | | |
| | | /** |
| | | * 累计签到天数 |
| | | */ |
| | | |
| | | |
| | | |
| | | @ApiModelProperty(value ="累计签到天数") |
| | | private Integer cumulativeDay; |
| | | |
| | | /** |
| | | * 活动主表ID |
| | | */ |
| | | |
| | | |
| | | |
| | | @ApiModelProperty(value ="活动主表ID") |
| | | private Long activityId; |
| | | |
| | | /** |
| | | * 公司ID |
| | | */ |
| | | |
| | | |
| | | |
| | | @ApiModelProperty(value ="公司ID") |
| | | private Long companyId; |
| | | } |
| | |
| | | package com.matrix.system.shopXcx.api.vo; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | |
| | | @Data |
| | | |
| | |
| | | |
| | | public static final int JOINSTATE_NOTSIGN = 1; |
| | | public static final int JOINSTATE_SIGN = 2; |
| | | |
| | | |
| | | @ApiModelProperty(value ="当前累计签到天数") |
| | | private int actAumulativeDay; |
| | | |
| | | @ApiModelProperty(value ="活动名称") |
| | | private String actName; |
| | | @ApiModelProperty(value ="活动编码") |
| | |
| | | private SignBasicInfoJsonVo signBasicInfoJsonVo; |
| | | @ApiModelProperty(value ="奖品信息") |
| | | private List<ActivitySignAwardSetVo> activitySignAwardSetVos; |
| | | @ApiModelProperty(value ="签到天数") |
| | | private List<ActivitySignRecordVo> activitySignRecords; |
| | | |
| | | } |
| | |
| | | and a.sign_time like concat('%',DATE(#{format}),'%') |
| | | </select> |
| | | |
| | | <select id="selectRecordByMonth" resultType="com.matrix.system.shopXcx.api.vo.ActivitySignRecordVo"> |
| | | SELECT |
| | | * |
| | | FROM |
| | | activity_sign_record a |
| | | where a.sign_time like concat('%',DATE_FORMAT(#{date},'%Y-%m'),'%') |
| | | and a.activity_id = #{actId} |
| | | and a.user_id = #{userId} |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | <el-tab-pane label="奖品设置" name="second"> |
| | | <el-row style="display:flex;"> |
| | | <el-col :span="20"> |
| | | <el-tabs v-model="editableTabsValue" type="card" closable @tab-remove="removeTab"> |
| | | <el-tabs v-model="editableTabsValue" type="card" closable @tab-click="clickTab" @tab-remove="removeTab"> |
| | | <el-tab-pane v-for="(item, index) in editableTabs" :key="item.name" :label="item.title" :name="item.name"> |
| | | <el-row v-show="editableTabsValue !== '1'"> |
| | | <el-form-item label="签到累计天数"> |
| | |
| | | let _this = this; |
| | | _this.drawerCoupon = true; |
| | | _this.activeClickTab = parseInt(name); |
| | | |
| | | console.log(_this.activeClickTab); |
| | | _this.formCoupon.yhjmc = val; |
| | | _this.loadCouponList(); |
| | | }, |
| | |
| | | }, |
| | | //重置 |
| | | resetFormCoupon(formName) { |
| | | // this.formCoupon.yhjmc = '' |
| | | // console.log(this.$refs[formName].resetFields) |
| | | (this.$refs[formName])[0].resetFields(); |
| | | }, |
| | | changePageSizeCoupon(val) { |
| | |
| | | }); |
| | | this.editableTabsValue = newTabName; |
| | | }, |
| | | clickTab(targetName) { |
| | | console.log(targetName.name); |
| | | this.activeClickTab = parseInt(targetName.name); |
| | | }, |
| | | removeTab(targetName) { |
| | | let tabs = this.editableTabs; |
| | | let activeName = this.editableTabsValue; |
| | |
| | | <el-tab-pane label="奖品设置" name="second"> |
| | | <el-row style="display:flex;"> |
| | | <el-col :span="20"> |
| | | <el-tabs v-model="editableTabsValue" type="card" closable @tab-remove="removeTab"> |
| | | <el-tabs v-model="editableTabsValue" type="card" closable @tab-click="clickTab" @tab-remove="removeTab"> |
| | | <el-tab-pane v-for="(item, index) in editableTabs" :key="item.name" :label="item.title" :name="item.name"> |
| | | <el-row v-show="editableTabsValue !== '1'"> |
| | | <el-form-item label="签到累计天数"> |
| | |
| | | }); |
| | | this.editableTabsValue = newTabName; |
| | | }, |
| | | clickTab(targetName) { |
| | | console.log(targetName.name); |
| | | this.activeClickTab = parseInt(targetName.name); |
| | | }, |
| | | removeTab(targetName) { |
| | | let tabs = this.editableTabs; |
| | | let activeName = this.editableTabsValue; |