Browse Source

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

yonge 3 years ago
parent
commit
3b0951bce2

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

@@ -1,6 +1,7 @@
 package com.yonge.cooleshow.biz.dal.dto.search;
 package com.yonge.cooleshow.biz.dal.dto.search;
 
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yonge.cooleshow.common.enums.EStatus;
 import com.yonge.toolset.base.page.QueryInfo;
 import com.yonge.toolset.base.page.QueryInfo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
@@ -8,6 +9,7 @@ import org.springframework.format.annotation.DateTimeFormat;
 
 
 import javax.validation.constraints.NotNull;
 import javax.validation.constraints.NotNull;
 import java.util.Date;
 import java.util.Date;
+import java.util.Optional;
 
 
 /**
 /**
  * @Author: liweifan
  * @Author: liweifan
@@ -39,6 +41,9 @@ public class ActivityUserRewardSearch extends QueryInfo{
 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
 	private Date endTime;
 	private Date endTime;
 
 
+	@ApiModelProperty(hidden = true)
+	private Integer activityGroupBy;
+
 	public Long getActivityId() {
 	public Long getActivityId() {
 		return activityId;
 		return activityId;
 	}
 	}
@@ -80,4 +85,12 @@ public class ActivityUserRewardSearch extends QueryInfo{
 	public void setEndTime(Date endTime) {
 	public void setEndTime(Date endTime) {
 		this.endTime = endTime;
 		this.endTime = endTime;
 	}
 	}
+
+	public Integer getActivityGroupBy() {
+		return Optional.ofNullable(activityGroupBy).orElse(EStatus.ENABLE.getValue());
+	}
+
+	public void setActivityGroupBy(Integer activityGroupBy) {
+		this.activityGroupBy = activityGroupBy;
+	}
 }
 }

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

@@ -163,7 +163,19 @@ public class ActivityPlanServiceImpl extends ServiceImpl<ActivityPlanDao, Activi
 
 
     @Override
     @Override
     public IPage<ActivityPlanVo> selectPage(IPage<ActivityPlanVo> page, ActivityPlanSearch query) {
     public IPage<ActivityPlanVo> selectPage(IPage<ActivityPlanVo> page, ActivityPlanSearch query) {
-        return page.setRecords(baseMapper.selectPage(page, query));
+
+        List<ActivityPlanVo> wrappers = baseMapper.selectPage(page, query);
+
+        // 分享活动-参与人数获奖人数相等
+        for (ActivityPlanVo item : wrappers) {
+
+            // 重置分享活动获奖与参与人数
+            if (ActivityTypeEnum.SHARE == item.getActivityType()) {
+                item.setRegistrationNum(item.getRewardNum());
+            }
+        }
+
+        return page.setRecords(wrappers);
     }
     }
 
 
     @Override
     @Override

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

@@ -16,6 +16,7 @@ import com.yonge.cooleshow.biz.dal.service.ActivityPlanService;
 import com.yonge.cooleshow.biz.dal.service.ActivityRewardService;
 import com.yonge.cooleshow.biz.dal.service.ActivityRewardService;
 import com.yonge.cooleshow.biz.dal.vo.UserRewardVo;
 import com.yonge.cooleshow.biz.dal.vo.UserRewardVo;
 import com.yonge.cooleshow.common.enums.ActivityTypeEnum;
 import com.yonge.cooleshow.common.enums.ActivityTypeEnum;
+import com.yonge.cooleshow.common.enums.EStatus;
 import com.yonge.cooleshow.common.enums.RewardTypeEnum;
 import com.yonge.cooleshow.common.enums.RewardTypeEnum;
 import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.exception.BizException;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
@@ -53,6 +54,10 @@ public class ActivityUserRewardServiceImpl extends ServiceImpl<ActivityUserRewar
             throw new BizException("无效的活动ID");
             throw new BizException("无效的活动ID");
         }
         }
 
 
+        if (ActivityTypeEnum.SHARE == activityPlan.getActivityType()) {
+            query.setActivityGroupBy(EStatus.DISABLE.getValue());
+        }
+
         // 活动获奖用户信息
         // 活动获奖用户信息
         List<UserRewardVo> userRewards = baseMapper.selectPage(page, query);
         List<UserRewardVo> userRewards = baseMapper.selectPage(page, query);
 
 
@@ -96,6 +101,7 @@ public class ActivityUserRewardServiceImpl extends ServiceImpl<ActivityUserRewar
 
 
                 item.rewardType(RewardTypeEnum.valueOf(activityPlan.getShareType()))
                 item.rewardType(RewardTypeEnum.valueOf(activityPlan.getShareType()))
                         .shareType(activityPlan.getShareType())
                         .shareType(activityPlan.getShareType())
+                        .amount(1L)
                         .teacherName(teacherNameMap.getOrDefault(item.getUserId(), ""))
                         .teacherName(teacherNameMap.getOrDefault(item.getUserId(), ""))
                         .setTeacherIds(teacherIdMap.getOrDefault(item.getUserId(), ""));
                         .setTeacherIds(teacherIdMap.getOrDefault(item.getUserId(), ""));
             }
             }
@@ -106,7 +112,7 @@ public class ActivityUserRewardServiceImpl extends ServiceImpl<ActivityUserRewar
 
 
     @Override
     @Override
     public void saveRewardRecord(Long activityId, Long rewardId, Long userId) {
     public void saveRewardRecord(Long activityId, Long rewardId, Long userId) {
-        ActivityReward activityReward = activityRewardService.getById(activityId);
+        ActivityReward activityReward = activityRewardService.getById(rewardId);
         ActivityUserReward activityUserReward = new ActivityUserReward();
         ActivityUserReward activityUserReward = new ActivityUserReward();
         if (activityReward != null) {
         if (activityReward != null) {
             activityUserReward.setUnit(activityReward.getUnit().getCode());
             activityUserReward.setUnit(activityReward.getUnit().getCode());

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

@@ -59,8 +59,6 @@ public class MemberPriceSettingsServiceImpl extends ServiceImpl<MemberPriceSetti
 
 
     @Autowired
     @Autowired
     private SysUserFeignService sysUserFeignService;
     private SysUserFeignService sysUserFeignService;
-    @Autowired
-    private SysConfigService sysConfigService;
 
 
     @Autowired
     @Autowired
     private ActivityPlanService activityPlanService;
     private ActivityPlanService activityPlanService;
@@ -181,15 +179,21 @@ public class MemberPriceSettingsServiceImpl extends ServiceImpl<MemberPriceSetti
 
 
     @Override
     @Override
     public ShareProfitVo shareVipProfit(SysUser sysUser, Long vipId) {
     public ShareProfitVo shareVipProfit(SysUser sysUser, Long vipId) {
+
         ShareProfitVo result = new ShareProfitVo();
         ShareProfitVo result = new ShareProfitVo();
-        MemberPriceSettingsVo detail = detail(vipId);
-        result.setVip(detail);
-        result.setAvatar(sysUser.getAvatar());
-        result.setName(sysUser.getUsername());
-        result.setTeacherId(sysUser.getId());
-
-        String teacherVipShareProfitUrl = sysConfigService.findConfigValue(SysConfigConstant.TEACHER_VIP_SHARE_PROFIT_URL);
-        result.setUrl(MessageFormatter.arrayFormat(teacherVipShareProfitUrl, detail.getId(), sysUser.getId()));
+
+        MemberPriceSettingsSearch memberPriceSettingsSearch = new MemberPriceSettingsSearch();
+        YesOrNoEnum discount = YesOrNoEnum.NO;
+        ActivityPlanVo activityPlanVo = activityPlanService.activityShare(ActivityShareEnum.VIP, sysUser.getId());
+        if (activityPlanVo != null) {
+            result.setActivityId(activityPlanVo.getId());
+            discount = YesOrNoEnum.YES;
+            memberPriceSettingsSearch.setActivityId(activityPlanVo.getId());
+        }
+        memberPriceSettingsSearch.setUserId(sysUser.getId());
+        MemberPriceVo vipShare = getVipShare(memberPriceSettingsSearch);
+        result.setDiscount(discount);
+        result.setVip(vipShare.getList());
         return result;
         return result;
     }
     }
 
 

+ 5 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/ShareProfitVo.java

@@ -5,6 +5,8 @@ import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 
 
+import java.util.List;
+
 /**
 /**
  * Description 老师乐谱分享信息
  * Description 老师乐谱分享信息
  *
  *
@@ -45,7 +47,7 @@ public class ShareProfitVo {
     private VideoLessonStudentVo videoGroup;
     private VideoLessonStudentVo videoGroup;
 
 
     @ApiModelProperty("会员信息")
     @ApiModelProperty("会员信息")
-    private MemberPriceSettingsVo vip;
+    private List<MemberPriceSettingsVo> vip;
 
 
     public Long getActivityId() {
     public Long getActivityId() {
         return activityId;
         return activityId;
@@ -71,11 +73,11 @@ public class ShareProfitVo {
         this.teacherId = teacherId;
         this.teacherId = teacherId;
     }
     }
 
 
-    public MemberPriceSettingsVo getVip() {
+    public List<MemberPriceSettingsVo> getVip() {
         return vip;
         return vip;
     }
     }
 
 
-    public void setVip(MemberPriceSettingsVo vip) {
+    public void setVip(List<MemberPriceSettingsVo> vip) {
         this.vip = vip;
         this.vip = vip;
     }
     }
 
 

+ 5 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/UserRewardVo.java

@@ -172,4 +172,9 @@ public class UserRewardVo implements Serializable {
 		this.shareType = shareType;
 		this.shareType = shareType;
 		return this;
 		return this;
 	}
 	}
+
+	public UserRewardVo amount(Long amount) {
+		this.amount = amount;
+		return this;
+	}
 }
 }

+ 16 - 6
cooleshow-user/user-biz/src/main/resources/config/mybatis/ActivityUserRewardMapper.xml

@@ -41,11 +41,21 @@
             su.real_name_ as realName,
             su.real_name_ as realName,
             su.username_ as username,
             su.username_ as username,
             su.phone_ as phone,
             su.phone_ as phone,
-            min(t.create_time_) as createTime,
-            COUNT(DISTINCT t.id_) AS amount,
-            ar.reward_type_ AS rewardType,
-            IFNULL(ar.unit_, t.unit_) AS unit,
-            group_concat(if(t.grant_flag_ = 1,ar.reward_name_,null)) as rewardNames
+            IFNULL(ar.reward_type_, "VIP") AS rewardType,
+            <choose>
+                <when test="param.activityGroupBy == 1">
+                    /*按用户、活动分组统计*/
+                    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,
+                </when>
+                <otherwise>
+                    /*分享活动,直接查询用户购买记录*/
+                    t.create_time_ as createTime,
+                    IF(t.grant_flag_ = 1,ar.reward_name_,null) AS rewardNames,
+                </otherwise>
+            </choose>
+            IFNULL(ar.unit_, t.unit_) AS unit
         FROM activity_user_reward t
         FROM activity_user_reward t
         left join activity_reward ar on ar.id_ = t.reward_id_
         left join activity_reward ar on ar.id_ = t.reward_id_
         left join sys_user su on t.user_id_ = su.id_
         left join sys_user su on t.user_id_ = su.id_
@@ -68,7 +78,7 @@
                 and  t.create_time_ &lt;= #{param.endTime}
                 and  t.create_time_ &lt;= #{param.endTime}
             </if>
             </if>
         </where>
         </where>
-        GROUP BY t.user_id_,t.activity_id_
+        <if test="param.activityGroupBy == 1">GROUP BY t.user_id_ , t.activity_id_</if>
     </select>
     </select>
 
 
     <!--分享活动关联老师-->
     <!--分享活动关联老师-->

+ 29 - 1
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/open/OpenClient.java

@@ -1,6 +1,10 @@
 package com.yonge.cooleshow.student.controller.open;
 package com.yonge.cooleshow.student.controller.open;
 
 
+import com.yonge.cooleshow.biz.dal.dto.search.MemberPriceSettingsSearch;
+import com.yonge.cooleshow.biz.dal.entity.SysConfig;
+import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.vo.CheckVo;
 import com.yonge.cooleshow.biz.dal.vo.CheckVo;
+import com.yonge.cooleshow.biz.dal.vo.MemberPriceVo;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParam;
@@ -8,6 +12,8 @@ import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import io.swagger.annotations.ApiParam;
 
 
+import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
 import javax.validation.Valid;
 import javax.validation.Valid;
@@ -48,7 +54,8 @@ public class OpenClient extends BaseController {
     private TeacherService teacherService;
     private TeacherService teacherService;
     @Autowired
     @Autowired
     private SysUserFeignService sysUserFeignService;
     private SysUserFeignService sysUserFeignService;
-
+    @Autowired
+    private SysConfigService sysConfigService;
     @Autowired
     @Autowired
     private UploadFileService uploadFileService;
     private UploadFileService uploadFileService;
     @Autowired
     @Autowired
@@ -57,6 +64,8 @@ public class OpenClient extends BaseController {
     @Autowired
     @Autowired
     private StudentService studentService;
     private StudentService studentService;
 
 
+    @Autowired
+    private MemberPriceSettingsService memberPriceSettingsService;
 
 
     @Autowired
     @Autowired
     private ActivityPlanService activityPlanService;
     private ActivityPlanService activityPlanService;
@@ -143,4 +152,23 @@ public class OpenClient extends BaseController {
         checkVo.setCheck(state);
         checkVo.setCheck(state);
         return succeed(checkVo);
         return succeed(checkVo);
     }
     }
+
+
+
+    @PostMapping("/memberPriceSettings/list")
+    @ApiOperation(value = "查询列表")
+    public HttpResponseResult<MemberPriceVo> list(@RequestBody MemberPriceSettingsSearch query) {
+        MemberPriceVo memberPriceVo = memberPriceSettingsService.getVipShare(query);
+        return succeed(memberPriceVo);
+    }
+
+
+    @PostMapping("/memberPriceSettings/vipPermissions")
+    @ApiOperation(value = "查询vip权限")
+    public HttpResponseResult<List<SysConfig>> vipPermissions() {
+        Map<String,Object> params = new HashMap<>();
+        params.put("group", "VIP_PERMISSION");
+        List<SysConfig> configs = sysConfigService.findAll(params);
+        return succeed(configs);
+    }
 }
 }

+ 16 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/open/OpenShareController.java

@@ -3,6 +3,7 @@ package com.yonge.cooleshow.teacher.controller.open;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.search.ShareProfitParam;
 import com.yonge.cooleshow.biz.dal.dto.search.ShareProfitParam;
+import com.yonge.cooleshow.biz.dal.entity.SysConfig;
 import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.vo.CheckVo;
 import com.yonge.cooleshow.biz.dal.vo.CheckVo;
 import com.yonge.cooleshow.biz.dal.vo.MusicActivityVo;
 import com.yonge.cooleshow.biz.dal.vo.MusicActivityVo;
@@ -19,6 +20,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 
 @RestController
 @RestController
 @RequestMapping("/open")
 @RequestMapping("/open")
@@ -40,6 +44,8 @@ public class OpenShareController extends BaseController {
 
 
     @Autowired
     @Autowired
     private ActivityPlanService activityPlanService;
     private ActivityPlanService activityPlanService;
+    @Autowired
+    private SysConfigService sysConfigService;
 
 
     /**
     /**
      * 服务对象
      * 服务对象
@@ -114,4 +120,14 @@ public class OpenShareController extends BaseController {
         checkVo.setCheck(state);
         checkVo.setCheck(state);
         return succeed(checkVo);
         return succeed(checkVo);
     }
     }
+
+
+    @PostMapping("/memberPriceSettings/vipPermissions")
+    @ApiOperation(value = "查询vip权限")
+    public HttpResponseResult<List<SysConfig>> vipPermissions() {
+        Map<String,Object> params = new HashMap<>();
+        params.put("group", "VIP_PERMISSION");
+        List<SysConfig> configs = sysConfigService.findAll(params);
+        return succeed(configs);
+    }
 }
 }