瀏覽代碼

双十一活动

zouxuan 3 年之前
父節點
當前提交
4fa76ab930

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/VipGroupActivityDao.java

@@ -107,7 +107,7 @@ public interface VipGroupActivityDao extends BaseDAO<Integer, VipGroupActivity>
 	* @author zx
 	* @date 2021/10/25 15:54
 	*/
-	int countGiveMemberNum();
+	Integer countGiveMemberNum();
 
 	/**
 	* @description: 双十一活动统计
@@ -116,5 +116,5 @@ public interface VipGroupActivityDao extends BaseDAO<Integer, VipGroupActivity>
 	* @author zx
 	* @date 2021/10/25 15:54
 	*/
-	List<Map<Integer,Integer>> countOrganGiveMemberNum(@Param("organIdList") List<Integer> organIdList);
+	List<Map<Long,Long>> countOrganGiveMemberNum(@Param("organIdList") List<Integer> organIdList);
 }

+ 62 - 62
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/DoubleEleven2021Dto.java

@@ -17,13 +17,13 @@ public class DoubleEleven2021Dto {
     private BigDecimal totalBuyAmount = BigDecimal.ZERO;
 
     @ApiModelProperty(value = "总购买数",required = false)
-    private int totalBuyNum;
+    private Integer totalBuyNum;
 
     @ApiModelProperty(value = "人均购买金额",required = false)
     private BigDecimal avgBuyAmount = BigDecimal.ZERO;
 
     @ApiModelProperty(value = "赠送会员人数",required = false)
-    private int giveMemberNum;
+    private Long giveMemberNum;
 
     @ApiModelProperty(value = "1v1 20节课购买金额",required = false)
     private BigDecimal vip1V120Amount = BigDecimal.ZERO;
@@ -35,25 +35,73 @@ public class DoubleEleven2021Dto {
     private BigDecimal vip1V140Amount = BigDecimal.ZERO;
 
     @ApiModelProperty(value = "1v1 40节课购买人数",required = false)
-    private int vip1V140Num;
+    private Integer vip1V140Num;
 
     @ApiModelProperty(value = "1v2 20节课购买金额",required = false)
     private BigDecimal vip1V220Amount = BigDecimal.ZERO;
 
     @ApiModelProperty(value = "1v2 20节课购买人数",required = false)
-    private int vip1V220Num;
+    private Integer vip1V220Num;
 
     @ApiModelProperty(value = "1v2 40节课购买金额",required = false)
     private BigDecimal vip1V240Amount = BigDecimal.ZERO;
 
     @ApiModelProperty(value = "1v2 40节课购买人数",required = false)
-    private int vip1V240Num;
+    private Integer vip1V240Num;
 
     @ApiModelProperty(value = "乐理课购买金额",required = false)
     private BigDecimal musicTheoryAmount = BigDecimal.ZERO;
 
     @ApiModelProperty(value = "乐理课购买人数",required = false)
-    private int musicTheoryNum;
+    private Integer musicTheoryNum;
+
+    public Integer getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(Integer organId) {
+        this.organId = organId;
+    }
+
+    public String getOrganName() {
+        return organName;
+    }
+
+    public void setOrganName(String organName) {
+        this.organName = organName;
+    }
+
+    public BigDecimal getTotalBuyAmount() {
+        return totalBuyAmount;
+    }
+
+    public void setTotalBuyAmount(BigDecimal totalBuyAmount) {
+        this.totalBuyAmount = totalBuyAmount;
+    }
+
+    public Integer getTotalBuyNum() {
+        return totalBuyNum;
+    }
+
+    public void setTotalBuyNum(Integer totalBuyNum) {
+        this.totalBuyNum = totalBuyNum;
+    }
+
+    public BigDecimal getAvgBuyAmount() {
+        return avgBuyAmount;
+    }
+
+    public void setAvgBuyAmount(BigDecimal avgBuyAmount) {
+        this.avgBuyAmount = avgBuyAmount;
+    }
+
+    public Long getGiveMemberNum() {
+        return giveMemberNum;
+    }
+
+    public void setGiveMemberNum(Long giveMemberNum) {
+        this.giveMemberNum = giveMemberNum;
+    }
 
     public BigDecimal getVip1V120Amount() {
         return vip1V120Amount;
@@ -79,11 +127,11 @@ public class DoubleEleven2021Dto {
         this.vip1V140Amount = vip1V140Amount;
     }
 
-    public int getVip1V140Num() {
+    public Integer getVip1V140Num() {
         return vip1V140Num;
     }
 
-    public void setVip1V140Num(int vip1V140Num) {
+    public void setVip1V140Num(Integer vip1V140Num) {
         this.vip1V140Num = vip1V140Num;
     }
 
@@ -95,11 +143,11 @@ public class DoubleEleven2021Dto {
         this.vip1V220Amount = vip1V220Amount;
     }
 
-    public int getVip1V220Num() {
+    public Integer getVip1V220Num() {
         return vip1V220Num;
     }
 
-    public void setVip1V220Num(int vip1V220Num) {
+    public void setVip1V220Num(Integer vip1V220Num) {
         this.vip1V220Num = vip1V220Num;
     }
 
@@ -111,11 +159,11 @@ public class DoubleEleven2021Dto {
         this.vip1V240Amount = vip1V240Amount;
     }
 
-    public int getVip1V240Num() {
+    public Integer getVip1V240Num() {
         return vip1V240Num;
     }
 
-    public void setVip1V240Num(int vip1V240Num) {
+    public void setVip1V240Num(Integer vip1V240Num) {
         this.vip1V240Num = vip1V240Num;
     }
 
@@ -127,59 +175,11 @@ public class DoubleEleven2021Dto {
         this.musicTheoryAmount = musicTheoryAmount;
     }
 
-    public int getMusicTheoryNum() {
+    public Integer getMusicTheoryNum() {
         return musicTheoryNum;
     }
 
-    public void setMusicTheoryNum(int musicTheoryNum) {
+    public void setMusicTheoryNum(Integer musicTheoryNum) {
         this.musicTheoryNum = musicTheoryNum;
     }
-
-    public Integer getOrganId() {
-        return organId;
-    }
-
-    public void setOrganId(Integer organId) {
-        this.organId = organId;
-    }
-
-    public String getOrganName() {
-        return organName;
-    }
-
-    public void setOrganName(String organName) {
-        this.organName = organName;
-    }
-
-    public BigDecimal getAvgBuyAmount() {
-        return avgBuyAmount;
-    }
-
-    public void setAvgBuyAmount(BigDecimal avgBuyAmount) {
-        this.avgBuyAmount = avgBuyAmount;
-    }
-
-    public BigDecimal getTotalBuyAmount() {
-        return totalBuyAmount;
-    }
-
-    public void setTotalBuyAmount(BigDecimal totalBuyAmount) {
-        this.totalBuyAmount = totalBuyAmount;
-    }
-
-    public int getTotalBuyNum() {
-        return totalBuyNum;
-    }
-
-    public void setTotalBuyNum(int totalBuyNum) {
-        this.totalBuyNum = totalBuyNum;
-    }
-
-    public int getGiveMemberNum() {
-        return giveMemberNum;
-    }
-
-    public void setGiveMemberNum(int giveMemberNum) {
-        this.giveMemberNum = giveMemberNum;
-    }
 }

+ 18 - 17
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupActivityServiceImpl.java

@@ -210,7 +210,7 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 			if(activityDtoList != null && activityDtoList.size() > 0){
 				collect = activityDtoList.stream().collect(Collectors.groupingBy(DoubleEleven2021ActivityDto::getOrganId));
 			}
-			Map<Integer, Integer> maps = MapUtil.convertIntegerMap(vipGroupActivityDao.countOrganGiveMemberNum(organIdList));
+			Map<Long, Long> maps = MapUtil.convertIntegerMap(vipGroupActivityDao.countOrganGiveMemberNum(organIdList));
 			for (DoubleEleven2021Dto doubleEleven2021Dto : doubleEleven2021Dtos) {
 				if(doubleEleven2021Dto.getTotalBuyAmount().compareTo(BigDecimal.ZERO) > 0){
 					doubleEleven2021Dto.setAvgBuyAmount(
@@ -237,89 +237,89 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 						}
 					}
 				}
-				Integer giveNum = maps.get(doubleEleven2021Dto.getOrganId());
+				Long giveNum = maps.get(doubleEleven2021Dto.getOrganId().longValue());
 				doubleEleven2021Dto.setGiveMemberNum(giveNum);
 			}
 			if(sort.equals("totalBuyAmount")){
-				if(order.equals("DESC")){
+				if(order.equals("ASC")){
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getTotalBuyAmount)).collect(Collectors.toList());
 				}else {
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getTotalBuyAmount).reversed()).collect(Collectors.toList());
 				}
 			}else if(sort.equals("totalBuyNum")){
-				if(order.equals("DESC")){
+				if(order.equals("ASC")){
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getTotalBuyNum)).collect(Collectors.toList());
 				}else {
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getTotalBuyNum).reversed()).collect(Collectors.toList());
 				}
 			}else if(sort.equals("avgBuyAmount")){
-				if(order.equals("DESC")){
+				if(order.equals("ASC")){
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getAvgBuyAmount)).collect(Collectors.toList());
 				}else {
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getAvgBuyAmount).reversed()).collect(Collectors.toList());
 				}
 			}else if(sort.equals("giveMemberNum")){
-				if(order.equals("DESC")){
+				if(order.equals("ASC")){
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getGiveMemberNum)).collect(Collectors.toList());
 				}else {
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getGiveMemberNum).reversed()).collect(Collectors.toList());
 				}
 			}else if(sort.equals("vip1v120Amount")){
-				if(order.equals("DESC")){
+				if(order.equals("ASC")){
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getVip1V120Amount)).collect(Collectors.toList());
 				}else {
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getVip1V120Amount).reversed()).collect(Collectors.toList());
 				}
 			}else if(sort.equals("vip1v140Amount")){
-				if(order.equals("DESC")){
+				if(order.equals("ASC")){
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getVip1V140Amount)).collect(Collectors.toList());
 				}else {
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getVip1V140Amount).reversed()).collect(Collectors.toList());
 				}
 			}else if(sort.equals("vip1v220Amount")){
-				if(order.equals("DESC")){
+				if(order.equals("ASC")){
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getVip1V220Amount)).collect(Collectors.toList());
 				}else {
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getVip1V220Amount).reversed()).collect(Collectors.toList());
 				}
 			}else if(sort.equals("vip1v240Amount")){
-				if(order.equals("DESC")){
+				if(order.equals("ASC")){
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getVip1V240Amount)).collect(Collectors.toList());
 				}else {
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getVip1V240Amount).reversed()).collect(Collectors.toList());
 				}
 			}else if(sort.equals("musicTheoryAmount")){
-				if(order.equals("DESC")){
+				if(order.equals("ASC")){
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getMusicTheoryAmount)).collect(Collectors.toList());
 				}else {
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getMusicTheoryAmount).reversed()).collect(Collectors.toList());
 				}
 			}else if(sort.equals("vip1v120Num")){
-				if(order.equals("DESC")){
+				if(order.equals("ASC")){
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getVip1V120Num)).collect(Collectors.toList());
 				}else {
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getVip1V120Num).reversed()).collect(Collectors.toList());
 				}
 			}else if(sort.equals("vip1v140Num")){
-				if(order.equals("DESC")){
+				if(order.equals("ASC")){
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getVip1V140Num)).collect(Collectors.toList());
 				}else {
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getVip1V140Num).reversed()).collect(Collectors.toList());
 				}
 			}else if(sort.equals("vip1v220Num")){
-				if(order.equals("DESC")){
+				if(order.equals("ASC")){
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getVip1V220Num)).collect(Collectors.toList());
 				}else {
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getVip1V220Num).reversed()).collect(Collectors.toList());
 				}
 			}else if(sort.equals("vip1v240Num")){
-				if(order.equals("DESC")){
+				if(order.equals("ASC")){
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getVip1V240Num)).collect(Collectors.toList());
 				}else {
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getVip1V240Num).reversed()).collect(Collectors.toList());
 				}
 			}else if(sort.equals("musicTheoryNum")){
-				if(order.equals("DESC")){
+				if(order.equals("ASC")){
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getMusicTheoryNum)).collect(Collectors.toList());
 				}else {
 					doubleEleven2021Dtos = doubleEleven2021Dtos.stream().sorted(Comparator.comparing(DoubleEleven2021Dto::getMusicTheoryNum).reversed()).collect(Collectors.toList());
@@ -360,7 +360,8 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 			}
 		}
 		//获取赠送会员数
-		doubleEleven2021Dto.setGiveMemberNum(vipGroupActivityDao.countGiveMemberNum());
+		Integer giveMemberNum = vipGroupActivityDao.countGiveMemberNum();
+		doubleEleven2021Dto.setGiveMemberNum(giveMemberNum==null?0l:giveMemberNum.longValue());
 		return doubleEleven2021Dto;
 	}
 

+ 9 - 9
mec-biz/src/main/resources/config/mybatis/VipGroupActivityMapper.xml

@@ -362,8 +362,9 @@
 		SELECT COUNT(DISTINCT student_id_) FROM cloud_teacher_order WHERE remark_ = '双十一活动赠送会员'
 		AND organ_id_ NOT IN (36,38,39,41,42,43,44,45,46,47,48,49,50,52,54,55,56,2,27,22,24)
 	</select>
-	<select id="countOrganGiveMemberNum" resultType="java.lang.Integer">
-		SELECT organ_id_ 'key',COUNT(DISTINCT student_id_) 'value' FROM cloud_teacher_order WHERE remark_ = '双十一活动赠送会员'
+	<select id="countOrganGiveMemberNum" resultType="map">
+		SELECT organ_id_ 'key',COUNT(DISTINCT student_id_) 'value'
+		FROM cloud_teacher_order WHERE remark_ = '双十一活动赠送会员'
 		AND organ_id_ IN
 		<foreach collection="organIdList" open="(" close=")" item="organId" separator=",">
 			#{organId}
@@ -384,14 +385,13 @@
 		GROUP BY spo.organ_id_,aum.activity_id_,aum.user_id_
 	</select>
 	<select id="countOrganDoubleEleven2021Statis" resultMap="DoubleEleven2021Dto">
-		SELECT SUM(spo.expect_amount_) total_buy_amount_,COUNT(DISTINCT spo.user_id_) total_buy_num_,o.name_ organ_name_,spo.organ_id_
-		FROM student_payment_order spo
-		LEFT JOIN organization o ON o.id_ = spo.organ_id_
-		WHERE spo.type_ = 'DOUBLE_ELEVEN2021' AND spo.status_ = 'SUCCESS'
+		SELECT SUM(spo.expect_amount_) total_buy_amount_,COUNT(DISTINCT spo.user_id_) total_buy_num_,o.name_ organ_name_,o.id_ organ_id_
+		FROM organization o
+		LEFT JOIN student_payment_order spo ON o.id_ = spo.organ_id_ AND spo.type_ = 'DOUBLE_ELEVEN2021' AND spo.status_ = 'SUCCESS'
+		WHERE o.id_ NOT IN (36,38,39,41,42,43,44,45,46,47,48,49,50,52,54,55,56,2,27,22,24)
 		<if test="organId != null">
-			AND spo.organ_id_ = #{organId}
+			AND o.id_ = #{organId}
 		</if>
-		AND spo.organ_id_ NOT IN (36,38,39,41,42,43,44,45,46,47,48,49,50,52,54,55,56,2,27,22,24)
-		GROUP BY spo.organ_id_
+		GROUP BY o.id_
 	</select>
 </mapper>

+ 2 - 2
mec-web/src/main/java/com/ym/mec/web/controller/VipGroupActivityController.java

@@ -53,8 +53,8 @@ public class VipGroupActivityController extends BaseController {
     @ApiOperation(value = "分部双11活动统计")
     @GetMapping("/organDoubleEleven2021Statis")
     @PreAuthorize("@pcs.hasPermissions('vipGroupActivity/organDoubleEleven2021Statis')")
-    public HttpResponseResult organDoubleEleven2021Statis(String order, String sort){
-        return succeed(vipGroupActivityService.organDoubleEleven2021Statis(order,sort));
+    public HttpResponseResult organDoubleEleven2021Statis(String order, String sort,Integer organId){
+        return succeed(vipGroupActivityService.organDoubleEleven2021Statis(order,sort,organId));
     }
 
     @ApiOperation(value = "分部2021双11活动学员列表")

+ 2 - 2
mec-web/src/main/java/com/ym/mec/web/controller/education/ActivityController.java

@@ -159,8 +159,8 @@ public class ActivityController extends BaseController {
 
     @ApiOperation(value = "分部双11活动统计")
     @GetMapping("/organDoubleEleven2021Statis")
-    public HttpResponseResult organDoubleEleven2021Statis(String order,String sort){
-        return succeed(vipGroupActivityService.organDoubleEleven2021Statis(order,sort));
+    public HttpResponseResult organDoubleEleven2021Statis(String order,String sort,Integer organId){
+        return succeed(vipGroupActivityService.organDoubleEleven2021Statis(order,sort,organId));
     }
 
     @ApiOperation(value = "双11活动统计")