浏览代码

双十一活动

zouxuan 3 年之前
父节点
当前提交
f5894b39d4

+ 11 - 18
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/VipGroupActivity.java

@@ -95,24 +95,6 @@ public class VipGroupActivity {
 	@ApiModelProperty(value = "是否充值到余额")
 	private boolean isPayToBalance = true;
 
-//	@ApiModelProperty(value = "活动变量1")
-//	private String attribute1;
-//
-//	@ApiModelProperty(value = "活动变量2")
-//	private String attribute2;
-//
-//	@ApiModelProperty(value = "活动变量3")
-//	private String attribute3;
-
-//	@ApiModelProperty(value = "薪水只读标识(1-只读 0-可写)")
-//	private Integer salaryReadonlyFlag = 0;
-//
-//	@ApiModelProperty(value = "单节课程费用只读标识")
-//	private Integer paymentReadonlyFlag = 1;
-
-//	@ApiModelProperty(value = "赠送课时支付薪水标识(1-计课酬  0-不计课酬)")
-//	private Integer giveClassPaySalaryFlag = 1;
-
 	@ApiModelProperty(value = "创建时间")
 	private java.util.Date createTime;
 
@@ -172,6 +154,17 @@ public class VipGroupActivity {
 	@ApiModelProperty(value = "活动价格")
 	private BigDecimal marketPrice = BigDecimal.ZERO;
 
+	//用于标记活动类型,购买的活动类型1、1v1 20节,2、1v1 40节,3、1v2 20节,4、1v2 40节,5、乐理课
+	private Integer code;
+
+	public Integer getCode() {
+		return code;
+	}
+
+	public void setCode(Integer code) {
+		this.code = code;
+	}
+
 	public Integer getGivePrizeNum() {
 		return givePrizeNum;
 	}

+ 0 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/page/DoubleEleven2021QueryInfo.java

@@ -35,7 +35,6 @@ public class DoubleEleven2021QueryInfo extends QueryInfo {
     }
 
     public void setType(Integer type) {
-        type = type==1?216:type==2?215:type==3?218:type==4?217:type==5?219:null;
         this.type = type;
     }
 

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

@@ -337,12 +337,11 @@
 		<result property="organId" column="organ_id_"/>
 	</resultMap>
 	<select id="countActivityStatis" resultMap="DoubleEleven2021ActivityDto">
-		SELECT SUM(aum.actual_price_) buy_amount_,COUNT(DISTINCT aum.user_id_) buy_num_,
-		CASE WHEN aum.activity_id_ = 215 THEN 2 WHEN aum.activity_id_ = 216 THEN 1
-		WHEN aum.activity_id_ = 217 THEN 4 WHEN aum.activity_id_ = 218 THEN 3 ELSE 5 END type_
+		SELECT SUM(aum.actual_price_) buy_amount_,COUNT(DISTINCT aum.user_id_) buy_num_,aum.code_ type_
 		FROM student_payment_order spo
 		LEFT JOIN activity_user_mapper aum ON spo.id_ = aum.payment_order_id_ AND spo.user_id_ = aum.user_id_
-		WHERE spo.type_ = 'DOUBLE_ELEVEN2021' AND spo.status_ = 'SUCCESS' 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)
+		WHERE spo.type_ = 'DOUBLE_ELEVEN2021' AND spo.status_ = 'SUCCESS'
+		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 aum.activity_id_,aum.user_id_
 	</select>
 	<resultMap id="DoubleEleven2021Dto" type="com.ym.mec.biz.dal.dto.DoubleEleven2021Dto">
@@ -370,9 +369,7 @@
 		GROUP BY organ_id_
 	</select>
 	<select id="countOrganActivityStatis" resultMap="DoubleEleven2021ActivityDto">
-		SELECT SUM(aum.actual_price_) buy_amount_,COUNT(DISTINCT aum.user_id_) buy_num_,
-		CASE WHEN aum.activity_id_ = 215 THEN 2 WHEN aum.activity_id_ = 216 THEN 1
-		WHEN aum.activity_id_ = 217 THEN 4 WHEN aum.activity_id_ = 218 THEN 3 ELSE 5 END type_,spo.organ_id_
+		SELECT SUM(aum.actual_price_) buy_amount_,COUNT(DISTINCT aum.user_id_) buy_num_,aum.code_ type_,spo.organ_id_
 		FROM student_payment_order spo
 		LEFT JOIN activity_user_mapper aum ON spo.id_ = aum.payment_order_id_ AND spo.user_id_ = aum.user_id_
 		WHERE spo.type_ = 'DOUBLE_ELEVEN2021' AND spo.status_ = 'SUCCESS'
@@ -417,7 +414,7 @@
 			AND spo.pay_time_ &lt;= #{endTime}
 		</if>
 		<if test="type != null">
-			AND FIND_IN_SET(#{type},spo.activity_id_)
+			AND vga.code_ = #{type}
 		</if>
 		<if test="giveMemberFlag != null and giveMemberFlag == 1">
 			AND cto.id_ IS NOT NULL
@@ -440,9 +437,11 @@
 		<include refid="global.limit"/>
 	</select>
 	<select id="countDoubleEleven2021OrderDetail" resultType="java.lang.Integer">
-		SELECT COUNT(spo.id_)
+		SELECT COUNT(DISTINCT spo.id_)
 		FROM student_payment_order spo
 		LEFT JOIN sys_user su ON su.id_ = spo.user_id_
+		LEFT JOIN activity_user_mapper aum ON spo.id_ = aum.payment_order_id_
+		LEFT JOIN vip_group_activity vga ON vga.id_ = aum.activity_id_
 		LEFT JOIN cloud_teacher_order cto ON cto.order_id_ = spo.id_
 		<include refid="queryDoubleEleven2021OrderDetailSql"/>
 	</select>

+ 25 - 10
mec-student/src/main/java/com/ym/mec/student/controller/ActivityController.java

@@ -37,10 +37,6 @@ public class ActivityController extends BaseController {
     @Autowired
     private MarketActivityService marketActivityService;
     @Autowired
-    private LuckDrawPrizeService luckDrawPrizeService;
-    @Autowired
-    private LuckDrawCountService luckDrawCountService;
-    @Autowired
     private PracticeGroupService practiceGroupService;
     @Autowired
     private SysConfigDao sysConfigDao;
@@ -123,14 +119,33 @@ public class ActivityController extends BaseController {
         if (user == null) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
+        List<ActivityDetailDto> activityDetailDtos = marketActivityService.queryActivity(2, user.getOrganId());
         String activitys = studentPaymentOrderDao.queryStudentDoubleEleven2021Order(user.getId());
+        List<Integer> activityList = new ArrayList<>();
         if(StringUtils.isNotEmpty(activitys)){
-            activitys = activitys.replace("215","2")
-                    .replace("216","1")
-                    .replace("217","4")
-                    .replace("218","3")
-                    .replace("219","5");
+            for (ActivityDetailDto activityDetailDto : activityDetailDtos) {
+                if(activitys.contains(activityDetailDto.getActivityId().toString())){
+                    if(activityDetailDto.getCategoryName().equals("1v1")){
+                        if(activityDetailDto.getCourseNum().equals(20)){
+                            activityList.add(1);
+                        }else {
+                            activityList.add(2);
+                        }
+                    }
+                    if(activityDetailDto.getCategoryName().equals("1v2")){
+                        if(activityDetailDto.getCourseNum().equals(20)){
+                            activityList.add(3);
+                        }else {
+                            activityList.add(4);
+                        }
+                    }
+                    if(activityDetailDto.getCategoryName().equals("乐理课")){
+                        activityList.add(5);
+                    }
+                }
+            }
+            return succeed(StringUtils.join(activityList,","));
         }
-        return succeed(activitys);
+        return succeed("");
     }
 }

+ 4 - 2
mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -233,8 +233,10 @@ public class StudentOrderController extends BaseController {
                 orderDetail.put("member", cloudTeacherOrderService.queryOrderInfoByOrderId(orderByOrderNo.getId()));
             }
         } else if (orderByOrderNo.getGroupType().equals(GroupType.VIP)) {
-            VipBuyResultDto vipBuyResultInfo = vipGroupService.findVipBuyResultInfo(Integer.valueOf(orderByOrderNo.getMusicGroupId()));
-            orderDetail.put("detail", vipBuyResultInfo);
+            if(StringUtils.isNotEmpty(orderByOrderNo.getMusicGroupId())){
+                VipBuyResultDto vipBuyResultInfo = vipGroupService.findVipBuyResultInfo(Integer.valueOf(orderByOrderNo.getMusicGroupId()));
+                orderDetail.put("detail", vipBuyResultInfo);
+            }
         } else if (orderByOrderNo.getGroupType().equals(GroupType.SPORADIC)) {
             if (Objects.nonNull(orderByOrderNo.getMusicGroupId())) {
                 SporadicChargeInfo info = sporadicChargeInfoService.get(Integer.valueOf(orderByOrderNo.getMusicGroupId()));