Sfoglia il codice sorgente

增加获奖时间记录

Eric 2 anni fa
parent
commit
ceefc422fb

+ 10 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ActivityUserReward.java

@@ -52,6 +52,9 @@ public class ActivityUserReward implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
     private Date updateTime;
 
+    @ApiModelProperty("获奖时间 ")
+    @TableField(value = "winning_time_")
+    private Date winningTime;
 
     @ApiModelProperty("奖品单位 同奖品表")
     @TableField(value = "unit_")
@@ -162,4 +165,11 @@ public class ActivityUserReward implements Serializable {
         this.updateTime = updateTime;
     }
 
+    public Date getWinningTime() {
+        return winningTime;
+    }
+
+    public void setWinningTime(Date winningTime) {
+        this.winningTime = winningTime;
+    }
 }

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ActivityPlanEvaluationServiceImpl.java

@@ -130,6 +130,7 @@ public class ActivityPlanEvaluationServiceImpl extends ServiceImpl<ActivityPlanE
                     activityUserReward.setRankingRule(detail.getRankingRule());
                     activityUserReward.setRanking(i+1);
                     activityUserReward.setGrantFlag(0);
+                    activityUserReward.setWinningTime(activityRankingVo.getJoinDate());
                     activityUserReward.setCreateTime(date);
                     activityUserReward.setUpdateTime(date);
                     activityUserReward.setRewardId(rewardId);

+ 3 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ActivityPlanStandardServiceImpl.java

@@ -154,7 +154,7 @@ public class ActivityPlanStandardServiceImpl extends ServiceImpl<ActivityPlanSta
         return true;
     }
 
-    private void sendUserReward(Long userId, Long activityId, Date createTime, List<ActivityPlanRewardDto> activityPlanRewardDtos) {
+    private void sendUserReward(Long userId, Long activityId, Date winningTime, List<ActivityPlanRewardDto> activityPlanRewardDtos) {
         List<Long> rewardIdList = activityPlanRewardDtos.stream()
                                                    .map(activityPlanRewardDto -> activityPlanRewardDto.getActivityReward()
                                                                                                       .getId())
@@ -170,7 +170,8 @@ public class ActivityPlanStandardServiceImpl extends ServiceImpl<ActivityPlanSta
 
             Optional<Long> first = successRewardIds.stream().filter(o -> o.equals(dto.getRewardId())).findFirst();
             userReward.setGrantFlag(first.isPresent() ? 1 : 0);
-            userReward.setCreateTime(createTime);
+            userReward.setWinningTime(winningTime); // 获将时间
+            userReward.setCreateTime(DateTime.now().toDate()); // 发奖时间
 
             ActivityUserReward one = activityUserRewardService.getOne(Wrappers.<ActivityUserReward>lambdaQuery()
                     .eq(ActivityUserReward::getUserId, userId)

+ 30 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/UserRewardVo.java

@@ -31,11 +31,16 @@ public class UserRewardVo implements Serializable {
 	@ApiModelProperty("手机号")
 	private String phone;
 
-	@ApiModelProperty("获奖/达标时间")
+	@ApiModelProperty("发奖时间")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
 	private Date  createTime;
 
+	@ApiModelProperty("获奖/达标时间")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	private Date winningTime;
+
 	@ApiModelProperty("评测时间")
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@@ -180,6 +185,30 @@ public class UserRewardVo implements Serializable {
 		this.evaluationTime = evaluationTime;
 	}
 
+	public Date getWinningTime() {
+		return winningTime;
+	}
+
+	public void setWinningTime(Date winningTime) {
+		this.winningTime = winningTime;
+	}
+
+	public Double getScore() {
+		return score;
+	}
+
+	public void setScore(Double score) {
+		this.score = score;
+	}
+
+	public int getTimes() {
+		return times;
+	}
+
+	public void setTimes(int times) {
+		this.times = times;
+	}
+
 	public UserRewardVo teacherName(String teacherName) {
 		this.teacherName = teacherName;
 		return this;

+ 1 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/ActivityUserRewardMapper.xml

@@ -45,6 +45,7 @@
             <choose>
                 <when test="param.activityGroupBy == 1">
                     /*按用户、活动分组统计*/
+                    IFNULL(t.winning_time_, t.create_time_) AS winningTime,
                     MIN(t.create_time_) as createTime,
                     COUNT(DISTINCT t.id_) AS amount,
                     group_concat(if(t.grant_flag_ = 1,ar.reward_name_,null)) as rewardNames,