Browse Source

Merge branch 'master' of http://git.dayaedu.com/yonge/cooleshow

Eric 3 years ago
parent
commit
76a2bfc460
13 changed files with 107 additions and 22 deletions
  1. 2 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/ActivityEvaluationRecordDao.java
  2. 12 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/MusicAlbumDetailSearch.java
  3. 14 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ActivityEvaluationRecord.java
  4. 13 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ActivityUserReward.java
  5. 7 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ActivityEvaluationRecordServiceImpl.java
  6. 10 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ActivityUserRewardServiceImpl.java
  7. 6 5
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java
  8. 11 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/ActivityRankingVo.java
  9. 19 5
      cooleshow-user/user-biz/src/main/resources/config/mybatis/ActivityEvaluationRecordMapper.xml
  10. 2 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/ActivityUserRewardMapper.xml
  11. 3 3
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/MusicAlbumController.java
  12. 3 3
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/MusicAlbumController.java
  13. 5 5
      cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/open/OpenMusicAlbumController.java

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/ActivityEvaluationRecordDao.java

@@ -49,4 +49,6 @@ public interface ActivityEvaluationRecordDao extends BaseMapper<ActivityEvaluati
 	List<ActivityRankingVo> queryRankingList(@Param("activityPlanId") Long activityPlanId, @Param("activityEvaluationId") Long activityEvaluationId, @Param("limit") int limit);
 	
 	ActivityRankingVo queryUserRanking(@Param("activityPlanId") Long activityPlanId, @Param("activityEvaluationId") Long activityEvaluationId, @Param("userId") Long userId);
+	
+	ActivityEvaluationRecord queryLastestRecord(@Param("activityPlanId") Long activityPlanId, @Param("userId") Long userId);
 }

+ 12 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/MusicAlbumDetailSearch.java

@@ -27,6 +27,18 @@ public class MusicAlbumDetailSearch extends MusicSheetSearch {
     @ApiModelProperty(value = "假删除 0 : 未删除 1:已删除",hidden = true)
     private Boolean delFlag = false;
 
+    @ApiModelProperty("相关专辑数,默认4")
+    private Integer relatedNum = 4;
+
+
+    public Integer getRelatedNum() {
+        return relatedNum;
+    }
+
+    public void setRelatedNum(Integer relatedNum) {
+        this.relatedNum = relatedNum;
+    }
+
     public Long getId() {
         return id;
     }

+ 14 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ActivityEvaluationRecord.java

@@ -39,6 +39,11 @@ public class ActivityEvaluationRecord implements Serializable {
     @ApiModelProperty("分数 ")
     @TableField(value = "score_")
     private Double score;
+    
+    @ApiModelProperty("次数")
+    @TableField(value = "times_")
+    private int times;
+    
     @ApiModelProperty("创建时间 ")
     @TableField(value = "create_time_")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@@ -93,7 +98,15 @@ public class ActivityEvaluationRecord implements Serializable {
         this.score = score;
     }
 
-    public Date getCreateTime() {
+    public int getTimes() {
+		return times;
+	}
+
+	public void setTimes(int times) {
+		this.times = times;
+	}
+
+	public Date getCreateTime() {
         return createTime;
     }
 

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

@@ -51,6 +51,19 @@ public class ActivityUserReward implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
     private Date updateTime;
 
+
+    @ApiModelProperty("奖品单位 同奖品表")
+    @TableField(value = "unit_")
+    private String unit;
+
+    public String getUnit() {
+        return unit;
+    }
+
+    public void setUnit(String unit) {
+        this.unit = unit;
+    }
+
     public Long getId() {
         return id;
     }

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

@@ -61,6 +61,13 @@ public class ActivityEvaluationRecordServiceImpl extends ServiceImpl<ActivityEva
         activityEvaluationRecord.setEvaluationId(evaluationId);
         activityEvaluationRecord.setCreateTime(new Date());
         activityEvaluationRecord.setScore(score == null ? 0:score.doubleValue());
+        
+        ActivityEvaluationRecord lastestRecord = baseMapper.queryLastestRecord(activityEvaluation.getActivityId(), userId);
+        if(lastestRecord == null){
+        	activityEvaluationRecord.setTimes(1);
+        }else{
+        	activityEvaluationRecord.setTimes(lastestRecord.getTimes() + 1);
+        }
         save(activityEvaluationRecord);
     }
 

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

@@ -11,6 +11,9 @@ import com.yonge.cooleshow.biz.dal.entity.ActivityUserReward;
 import com.yonge.cooleshow.biz.dal.service.ActivityPlanService;
 import com.yonge.cooleshow.biz.dal.service.ActivityUserRewardService;
 import com.yonge.cooleshow.biz.dal.vo.ActivityUserRewardVo;
+import com.yonge.cooleshow.biz.dal.entity.ActivityReward;
+import com.yonge.cooleshow.biz.dal.service.ActivityPlanService;
+import com.yonge.cooleshow.biz.dal.service.ActivityRewardService;
 import com.yonge.cooleshow.biz.dal.vo.UserRewardVo;
 import com.yonge.cooleshow.common.enums.ActivityTypeEnum;
 import com.yonge.cooleshow.common.enums.EStatus;
@@ -34,6 +37,9 @@ public class ActivityUserRewardServiceImpl extends ServiceImpl<ActivityUserRewar
     @Autowired
     private ActivityPlanService activityPlanService;
 
+    @Autowired
+    private ActivityRewardService activityRewardService;
+
 	@Override
     public ActivityUserRewardVo detail(Long id) {
         return baseMapper.detail(id);
@@ -106,7 +112,11 @@ public class ActivityUserRewardServiceImpl extends ServiceImpl<ActivityUserRewar
 
     @Override
     public void saveRewardRecord(Long activityId, Long rewardId, Long userId) {
+        ActivityReward activityReward = activityRewardService.getById(rewardId);
         ActivityUserReward activityUserReward = new ActivityUserReward();
+        if (activityReward != null) {
+            activityUserReward.setUnit(activityReward.getUnit().getCode());
+        }
         activityUserReward.setActivityId(activityId);
         activityUserReward.setRewardId(rewardId);
         activityUserReward.setUserId(userId);

+ 6 - 5
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java

@@ -281,9 +281,9 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         orderReq.setOrderNo(Long.toString(orderNo));
 
         //分润人为自己,不是分润订单
-        if (null != orderReq.getRecomUserId() && orderReq.getUserId().equals(orderReq.getRecomUserId())) {
-            orderReq.setRecomUserId(null);
-        }
+        // if (null != orderReq.getRecomUserId() && orderReq.getUserId().equals(orderReq.getRecomUserId())) {
+        //     orderReq.setRecomUserId(null);
+        // }
 
         //验证参数,必须验证参数
         BigDecimal actualPrice = BigDecimal.ZERO;
@@ -872,9 +872,10 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
             }
             platformCashAccountRecordService.save(platformCashAccountRecord);
 
-            //卖家不能分润自己
+            //卖家不能分润自己 买家和分润人相同,不分润
             if (null != orderDetailVo.getRecomUserId()
-                    && !orderDetailVo.getRecomUserId().equals(orderDetailVo.getMerchId())) {
+                    && !orderDetailVo.getRecomUserId().equals(orderDetailVo.getMerchId())
+                    && !orderDetailVo.getUserId().equals(orderDetailVo.getRecomUserId())) {
                 //获取分润收益费率
                 BigDecimal shareFeeRate = getShareFreeByGoodType(orderDetailVo.getGoodType()
                         , orderDetailVo.getBizId());

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/ActivityRankingVo.java

@@ -23,6 +23,9 @@ public class ActivityRankingVo {
     
     @ApiModelProperty("参加时间")
     private Date joinDate;
+    
+    @ApiModelProperty("次数")
+    private int times;
 
 	public double getScore() {
 		return score;
@@ -71,4 +74,12 @@ public class ActivityRankingVo {
 	public void setJoinDate(Date joinDate) {
 		this.joinDate = joinDate;
 	}
+
+	public int getTimes() {
+		return times;
+	}
+
+	public void setTimes(int times) {
+		this.times = times;
+	}
 }

+ 19 - 5
cooleshow-user/user-biz/src/main/resources/config/mybatis/ActivityEvaluationRecordMapper.xml

@@ -7,6 +7,7 @@
         <result column="user_id_" property="userId" />
         <result column="evaluation_id_" property="evaluationId" />
         <result column="score_" property="score" />
+        <result column="times_" property="times" />
         <result column="create_time_" property="createTime" />
     </resultMap>
 
@@ -17,6 +18,7 @@
         , t.user_id_ as userId
         , t.evaluation_id_ as evaluationId
         , t.score_ as score
+        , t.times_ as times
         , t.create_time_ as createTime
     </sql>
 
@@ -40,20 +42,32 @@
     </select>
 
     <select id="queryRankingList" resultType="com.yonge.cooleshow.biz.dal.vo.ActivityRankingVo">
-		select aer.score_ socre,aer.user_id_ userId,u.avatar_ userAvatar,u.username_ username, aer.create_time_ joinDate,s.name_ userSubject
+    	select * from 
+    	(
+		select aer.score_ socre,aer.user_id_ userId,u.avatar_ userAvatar,u.username_ username, aer.create_time_ joinDate,s.name_ userSubject,aer.times_ times
 		from activity_evaluation_record aer left join sys_user u on aer.user_id_ = u.id_
         left join student stu on stu.user_id_ = aer.user_id_
         left join subject s on s.id_ = stu.subject_id_
-		where aer.activity_id_ = #{activityPlanId} and aer.evaluation_id_ = #{activityEvaluationId}
-		order by aer.score_ desc,aer.create_time_ asc
+		where aer.activity_id_ = #{activityPlanId} and aer.evaluation_id_ = #{activityEvaluationId} and aer.score_ > 0
+		order by aer.score_ desc,aer.times_ asc, aer.id_ asc 
+		) a group by userId
 		limit #{limit}
     </select>
 
     <select id="queryUserRanking" resultType="com.yonge.cooleshow.biz.dal.vo.ActivityRankingVo">
-		select aer.score_ socre,aer.user_id_ userId,u.avatar_ userAvatar,u.username_ username, aer.create_time_ joinDate,s.name_ userSubject
+		select aer.score_ socre,aer.user_id_ userId,u.avatar_ userAvatar,u.username_ username, aer.create_time_ joinDate,s.name_ userSubject,aer.times_ times
 		from activity_evaluation_record aer left join sys_user u on aer.user_id_ = u.id_
         left join student stu on stu.user_id_ = aer.user_id_
         left join subject s on s.id_ = stu.subject_id_
-		where aer.activity_id_ = #{activityPlanId} and aer.evaluation_id_ = #{activityEvaluationId} and aer.user_id_ = #{userId}
+		where aer.id_ in (
+		select aer.id_ from activity_evaluation_record aer where aer.activity_id_ = #{activityPlanId} and aer.evaluation_id_ = #{activityEvaluationId} and aer.user_id_ = #{userId} and aer.score_ > 0
+		order by aer.score_ desc,aer.times_ asc aer.id_ asc limit 1
+		) 
+    </select>
+
+    <select id="queryLastestRecord" resultMap="BaseResultMap">
+		select <include refid="baseColumns"/>
+		from activity_evaluation_record t 
+		where t.activity_id_ = #{activityPlanId} and t.user_id_ = #{userId} and t.score_ > 0 order by id_ desc limit 1
     </select>
 </mapper>

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

@@ -7,6 +7,7 @@
         <result column="biz_id_" property="bizId" />
         <result column="user_id_" property="userId" />
         <result column="reward_id_" property="rewardId" />
+        <result column="unit_" property="unit" />
         <result column="grant_flag_" property="grantFlag" />
         <result column="receive_flag_" property="receiveFlag" />
         <result column="create_time_" property="createTime" />
@@ -20,6 +21,7 @@
         , t.biz_id_ as bizId
         , t.user_id_ as userId
         , t.reward_id_ as rewardId
+        , t.unit_ as unit
         , t.grant_flag_ as grantFlag
         , t.receive_flag_ as receiveFlag
         , t.create_time_ as createTime

+ 3 - 3
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/MusicAlbumController.java

@@ -97,7 +97,7 @@ public class MusicAlbumController extends BaseController {
         musicAlbumSearch.setAlbumStatus(YesOrNoEnum.YES);
         musicAlbumSearch.setSortBy(1);
         musicAlbumSearch.setPage(1);
-        musicAlbumSearch.setRows(5);
+        musicAlbumSearch.setRows(query.getRelatedNum() +1);
         musicAlbumSearch.setAlbumTagIds(albumDetailVo.getAlbumTag());
         IPage<MusicAlbumVo> relatedMusicAlbum = musicAlbumService.selectStudentPage(PageUtil.getPage(musicAlbumSearch),musicAlbumSearch);
         List<MusicAlbumVo> musicAlbumVos1 = relatedMusicAlbum.getRecords()
@@ -105,8 +105,8 @@ public class MusicAlbumController extends BaseController {
                                                       .filter(musicAlbumVo -> !musicAlbumVo.getId()
                                                                                            .equals(albumDetailVo.getId()))
                                                       .collect(Collectors.toList());
-        if (musicAlbumVos1.size() > 4) {
-            musicAlbumVos1 = musicAlbumVos1.subList(0,4);
+        if (musicAlbumVos1.size() > query.getRelatedNum()) {
+            musicAlbumVos1 = musicAlbumVos1.subList(0,query.getRelatedNum());
         }
         albumDetailVo.setRelatedMusicAlbum(musicAlbumVos1);
         return succeed(albumDetailVo);

+ 3 - 3
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/MusicAlbumController.java

@@ -96,7 +96,7 @@ public class MusicAlbumController extends BaseController {
         musicAlbumSearch.setAlbumStatus(YesOrNoEnum.YES);
         musicAlbumSearch.setSortBy(1);
         musicAlbumSearch.setPage(1);
-        musicAlbumSearch.setRows(5);
+        musicAlbumSearch.setRows(query.getRelatedNum() +1);
         musicAlbumSearch.setAlbumTagIds(albumDetailVo.getAlbumTag());
         IPage<MusicAlbumVo> relatedMusicAlbum = musicAlbumService.selectStudentPage(PageUtil.getPage(musicAlbumSearch),musicAlbumSearch);
         List<MusicAlbumVo> musicAlbumVos1 = relatedMusicAlbum.getRecords()
@@ -104,8 +104,8 @@ public class MusicAlbumController extends BaseController {
                                                       .filter(musicAlbumVo -> !musicAlbumVo.getId()
                                                                                            .equals(albumDetailVo.getId()))
                                                       .collect(Collectors.toList());
-        if (musicAlbumVos1.size() > 4) {
-            musicAlbumVos1 = musicAlbumVos1.subList(0,4);
+        if (musicAlbumVos1.size() > query.getRelatedNum()) {
+            musicAlbumVos1 = musicAlbumVos1.subList(0,query.getRelatedNum());
         }
         albumDetailVo.setRelatedMusicAlbum(musicAlbumVos1);
         return succeed(albumDetailVo);

+ 5 - 5
cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/open/OpenMusicAlbumController.java

@@ -82,15 +82,15 @@ public class OpenMusicAlbumController extends BaseController {
         musicAlbumSearch.setAlbumStatus(YesOrNoEnum.YES);
         musicAlbumSearch.setSortBy(1);
         musicAlbumSearch.setPage(1);
-        musicAlbumSearch.setRows(5);
+        musicAlbumSearch.setRows(query.getRelatedNum() + 1);
         IPage<MusicAlbumVo> hotMusicAlbum = musicAlbumService.selectStudentPage(PageUtil.getPage(musicAlbumSearch),musicAlbumSearch);
         List<MusicAlbumVo> musicAlbumVos = hotMusicAlbum.getRecords()
                                                   .stream()
                                                   .filter(musicAlbumVo -> !musicAlbumVo.getId()
                                                                                        .equals(albumDetailVo.getId()))
                                                   .collect(Collectors.toList());
-        if (musicAlbumVos.size() > 4) {
-            musicAlbumVos = musicAlbumVos.subList(0,4);
+        if (musicAlbumVos.size() > query.getRelatedNum()) {
+            musicAlbumVos = musicAlbumVos.subList(0,query.getRelatedNum());
         }
         albumDetailVo.setHotMusicAlbum(musicAlbumVos);
 
@@ -102,8 +102,8 @@ public class OpenMusicAlbumController extends BaseController {
                                                       .filter(musicAlbumVo -> !musicAlbumVo.getId()
                                                                                            .equals(albumDetailVo.getId()))
                                                       .collect(Collectors.toList());
-        if (musicAlbumVos1.size() > 4) {
-            musicAlbumVos1 = musicAlbumVos1.subList(0,4);
+        if (musicAlbumVos1.size() > query.getRelatedNum()) {
+            musicAlbumVos1 = musicAlbumVos1.subList(0,query.getRelatedNum());
         }
         albumDetailVo.setRelatedMusicAlbum(musicAlbumVos1);
         return succeed(albumDetailVo);