浏览代码

双十一活动

zouxuan 2 年之前
父节点
当前提交
3cc42d748e

+ 4 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TempBuyDoubleElevenUserLogDao.java

@@ -2,8 +2,11 @@ package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.entity.TempBuyDoubleElevenUserLog;
 import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
 
 public interface TempBuyDoubleElevenUserLogDao extends BaseDAO<Integer, TempBuyDoubleElevenUserLog> {
 
-    Integer countGiveNum();
+    Integer countGiveNum(@Param("userId") Integer userId);
+
+    TempBuyDoubleElevenUserLog findByOrderId(@Param("orderId") Long orderId);
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TempBuyDoubleElevenUserLog.java

@@ -15,11 +15,21 @@ public class TempBuyDoubleElevenUserLog extends BaseEntity {
 
 	private Integer organId;
 
+	private Long orderId;
+
 	//是否达到赠送标准
 	private boolean giveFlag = false;
 
 	private Date createTime;
 
+	public Long getOrderId() {
+		return orderId;
+	}
+
+	public void setOrderId(Long orderId) {
+		this.orderId = orderId;
+	}
+
 	public Integer getId() {
 		return id;
 	}

+ 7 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupActivityServiceImpl.java

@@ -305,7 +305,7 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 		//获取活动成交数据
 		this.groupTypeConvert(vipGroupActivityDao.count2022ActivityStatis(),doubleEleven2022Dto);
 		//获取赠送会员数
-		Integer giveMemberNum = tempBuyDoubleElevenUserLogDao.countGiveNum();
+		Integer giveMemberNum = tempBuyDoubleElevenUserLogDao.countGiveNum(null);
 		doubleEleven2022Dto.setGiveMemberNum(giveMemberNum==null?0l:giveMemberNum.longValue());
 		return doubleEleven2022Dto;
 	}
@@ -667,13 +667,17 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 				//处理双十一活动特殊处理
 				Date now = new Date();
 				TempBuyDoubleElevenUserLog doubleElevenUserLog = new TempBuyDoubleElevenUserLog();
+				doubleElevenUserLog.setOrderId(studentPaymentOrder.getId());
 				doubleElevenUserLog.setUserId(studentPaymentOrder.getUserId());
 				doubleElevenUserLog.setCreateTime(now);
 				doubleElevenUserLog.setOrganId(studentPaymentOrder.getOrganId());
 				//杭州不送保养套装
 				if(!studentPaymentOrder.getOrganId().equals(4) && DateUtil.contents(giveStartTime,giveEndTime,now)){
-					//符合赠送条件,赠送乐保套装
-					doubleElevenUserLog.setGiveFlag(true);
+					Integer giveNum = tempBuyDoubleElevenUserLogDao.countGiveNum(studentPaymentOrder.getUserId());
+					if(giveNum == null || giveNum == 0){
+						//符合赠送条件,赠送乐保套装
+						doubleElevenUserLog.setGiveFlag(true);
+					}
 				}
 				tempBuyDoubleElevenUserLogDao.insert(doubleElevenUserLog);
 				//赠送抽奖机会

+ 11 - 3
mec-biz/src/main/resources/config/mybatis/TempBuyDoubleElevenUserLog.xml

@@ -9,6 +9,7 @@
     <resultMap type="com.ym.mec.biz.dal.entity.TempBuyDoubleElevenUserLog" id="TempBuyDoubleElevenUserLog">
         <result column="id_" property="id"/>
         <result column="user_id_" property="userId"/>
+        <result column="order_id_" property="orderId"/>
         <result column="organ_id_" property="organId"/>
         <result column="give_flag_" property="giveFlag"/>
         <result column="create_time_" property="createTime"/>
@@ -28,13 +29,20 @@
         ORDER BY id_
     </select>
     <select id="countGiveNum" resultType="java.lang.Integer">
-        select count(distinct user_id_) from temp_buy_double_eleven_user_log where give_flag_ = 1;
+        select count(distinct user_id_)
+        from temp_buy_double_eleven_user_log where give_flag_ = 1
+        <if test="userId != null">
+            AND user_id_ = #{userId}
+        </if>
+    </select>
+    <select id="findByOrderId" resultMap="TempBuyDoubleElevenUserLog">
+        SELECT * FROM temp_buy_double_eleven_user_log where order_id_ = #{orderId} limit 1
     </select>
 
     <!-- 向数据库增加一条记录 -->
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.TempBuyFreeLiveTheoryCourse" useGeneratedKeys="true"
             keyColumn="id" keyProperty="id">
-        INSERT INTO temp_buy_double_eleven_user_log (user_id_,organ_id_, give_flag_, create_time_)
-        VALUES (#{userId}, #{organId}, #{giveFlag}, NOW())
+        INSERT INTO temp_buy_double_eleven_user_log (user_id_,organ_id_,order_id_, give_flag_, create_time_)
+        VALUES (#{userId}, #{organId}, #{orderId}, #{giveFlag}, NOW())
     </insert>
 </mapper>

+ 6 - 33
mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -104,6 +104,8 @@ public class StudentOrderController extends BaseController {
     private OrganizationService organizationService;
     @Autowired
     private VipGroupCategoryDao vipGroupCategoryDao;
+    @Autowired
+    private TempBuyDoubleElevenUserLogDao tempBuyDoubleElevenUserLogDao;
 
     @Value("${spring.profiles.active:dev}")
     private String profiles;
@@ -324,6 +326,10 @@ public class StudentOrderController extends BaseController {
                 }
             }
             orderDetail.put("detail", vipGroupActivities);
+            TempBuyDoubleElevenUserLog doubleElevenUserLog = tempBuyDoubleElevenUserLogDao.findByOrderId(orderByOrderNo.getId());
+            if(Objects.nonNull(doubleElevenUserLog) && doubleElevenUserLog.isGiveFlag()){
+                orderDetail.put("giveDetail", "乐器清洁保养服务1次");
+            }
         } else if (orderByOrderNo.getGroupType().equals(GroupType.MEMBER)) {
             CloudTeacherOrderDto orderDto = cloudTeacherOrderService.queryOrderInfoByOrderId(orderByOrderNo.getId());
             orderDetail.put("detail", orderDto);
@@ -635,11 +641,6 @@ public class StudentOrderController extends BaseController {
         Date nowDate = new Date();
         Integer tenantId = TenantContextHolder.getTenantId();
         List<Organization> organs = organizationDao.findAllOrgans(tenantId);
-        //除去禁止的体验人数
-//        List<Practice4OrganDto> organTryNums = courseScheduleEvaluateDao.getTryNums();
-//        List<Practice4OrganDto> organPracticeTryNums = courseScheduleEvaluateDao.getPracticeTryNums();
-//        List<Practice4OrganDto> organVipTryNums = courseScheduleEvaluateDao.getVipTryNums();
-//        List<Practice4OrganDto> organPracticeAndVipTryNums = courseScheduleEvaluateDao.getPracticeAndVipTryNums();
         List<Practice4OrganDto> allTryNums = courseScheduleEvaluateDao.getAllTryNums(tenantId);
 
         List<Practice4OrganDto> practiceBuyNums = courseScheduleEvaluateDao.getPracticeBuyNums(nowDate, null, tenantId);
@@ -673,34 +674,6 @@ public class StudentOrderController extends BaseController {
             Practice4OrganDto practice4OrganDto = new Practice4OrganDto();
             practice4OrganDto.setOrganName(organ.getName());
             practice4OrganDto.setOrganId(organ.getId());
-            //体验人数(除去禁止)
-//            for (Practice4OrganDto organTryNum : organTryNums) {
-//                if (organ.getId().equals(organTryNum.getOrganId())) {
-//                    practice4OrganDto.setTryNum(practice4OrganDto.getTryNum() + organTryNum.getTryNum());
-//                    break;
-//                }
-//            }
-//            //网管课体验人数(禁止)
-//            for (Practice4OrganDto organPracticeTryNum : organPracticeTryNums) {
-//                if (organ.getId().equals(organPracticeTryNum.getOrganId())) {
-//                    practice4OrganDto.setTryNum(practice4OrganDto.getTryNum() + organPracticeTryNum.getTryNum());
-//                    break;
-//                }
-//            }
-//            //vip课体验人数(禁止)
-//            for (Practice4OrganDto organVipTryNum : organVipTryNums) {
-//                if (organ.getId().equals(organVipTryNum.getOrganId())) {
-//                    practice4OrganDto.setTryNum(practice4OrganDto.getTryNum() + organVipTryNum.getTryNum());
-//                    break;
-//                }
-//            }
-//            //减去vip中在网管课的人数
-//            for (Practice4OrganDto organPracticeAndVipTryNum : organPracticeAndVipTryNums) {
-//                if (organ.getId().equals(organPracticeAndVipTryNum.getOrganId())) {
-//                    practice4OrganDto.setTryNum(practice4OrganDto.getTryNum() - organPracticeAndVipTryNum.getTryNum());
-//                    break;
-//                }
-//            }
 
             for (Practice4OrganDto allTryNum : allTryNums) {
                 if (organ.getId().equals(allTryNum.getOrganId())) {