Browse Source

乐团缴费项目改造

zouxuan 2 năm trước cách đây
mục cha
commit
ece42d1ee2
17 tập tin đã thay đổi với 236 bổ sung88 xóa
  1. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPaymentOrderDao.java
  2. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TempBuyDoubleElevenUserLogDao.java
  3. 62 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TempBuyDoubleElevenUserLog.java
  4. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/PracticeGroupService.java
  5. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderService.java
  6. 10 4
      mec-biz/src/main/java/com/ym/mec/biz/service/SysConfigService.java
  7. 4 1
      mec-biz/src/main/java/com/ym/mec/biz/service/VipGroupActivityService.java
  8. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/LuckDrawCountServiceImpl.java
  9. 5 24
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java
  10. 5 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java
  11. 59 33
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupActivityServiceImpl.java
  12. 2 2
      mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderMapper.xml
  13. 37 0
      mec-biz/src/main/resources/config/mybatis/TempBuyDoubleElevenUserLog.xml
  14. 7 10
      mec-student/src/main/java/com/ym/mec/student/controller/ActivityController.java
  15. 1 4
      mec-student/src/main/java/com/ym/mec/student/controller/PracticeGroupController.java
  16. 20 8
      mec-util/src/main/java/com/ym/mec/util/date/DateUtil.java
  17. 7 0
      mec-web/src/main/java/com/ym/mec/web/controller/VipGroupActivityController.java

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

@@ -426,7 +426,7 @@ public interface StudentPaymentOrderDao extends BaseDAO<Long, StudentPaymentOrde
      * @author zx
      * @date 2021/10/27 10:27
      */
-    String queryStudentDoubleEleven2021Order(Integer userId);
+    String queryStudentDoubleElevenOrder(Integer userId);
 
     List<StudentPaymentOrder> findByCalenderId(@Param("calenderId") Long calenderId, @Param("userId") Integer userId);
 

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TempBuyDoubleElevenUserLogDao.java

@@ -0,0 +1,9 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.biz.dal.entity.TempBuyDoubleElevenUserLog;
+import com.ym.mec.common.dal.BaseDAO;
+
+public interface TempBuyDoubleElevenUserLogDao extends BaseDAO<Integer, TempBuyDoubleElevenUserLog> {
+
+
+}

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

@@ -0,0 +1,62 @@
+package com.ym.mec.biz.dal.entity;
+
+import com.ym.mec.common.entity.BaseEntity;
+
+import java.util.Date;
+
+/**
+ * 对应数据库表(temp_buy_double_eleven_user_log):
+ */
+public class TempBuyDoubleElevenUserLog extends BaseEntity {
+
+	private Integer id;
+
+	private Integer userId;
+
+	private Integer organId;
+
+	//是否达到赠送标准
+	private boolean giveFlag = false;
+
+	private Date createTime;
+
+	public Integer getId() {
+		return id;
+	}
+
+	public void setId(Integer id) {
+		this.id = id;
+	}
+
+	public Integer getUserId() {
+		return userId;
+	}
+
+	public void setUserId(Integer userId) {
+		this.userId = userId;
+	}
+
+	public Integer getOrganId() {
+		return organId;
+	}
+
+	public void setOrganId(Integer organId) {
+		this.organId = organId;
+	}
+
+	public boolean isGiveFlag() {
+		return giveFlag;
+	}
+
+	public void setGiveFlag(boolean giveFlag) {
+		this.giveFlag = giveFlag;
+	}
+
+	public Date getCreateTime() {
+		return createTime;
+	}
+
+	public void setCreateTime(Date createTime) {
+		this.createTime = createTime;
+	}
+}

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/PracticeGroupService.java

@@ -389,5 +389,5 @@ public interface PracticeGroupService extends BaseService<Long, PracticeGroup> {
 	//学生端网管课活动排课
 	HttpResponseResult studentCreateActivityPracticeGroup(PracticeGroupBuyDto practiceGroupBuyParams);
 
-	void checkActivity();
+	void checkActivity(String configName);
 }

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderService.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
 import com.ym.mec.biz.dal.dto.PageInfoOrder;
 import com.ym.mec.biz.dal.dto.SporadicChargeInfoDto;
 import com.ym.mec.biz.dal.dto.StudentPaymentOrderDto;
@@ -29,6 +30,8 @@ import java.util.Map;
 
 public interface StudentPaymentOrderService extends BaseService<Long, StudentPaymentOrder> {
 
+    StudentPaymentOrderDao getDao();
+
     Map createOrder(StudentPaymentOrder studentPaymentOrder, List<StudentPaymentOrderDetail> details, String payReceiver) throws Exception;
 
     /**

+ 10 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/SysConfigService.java

@@ -4,6 +4,7 @@ import com.ym.mec.biz.dal.entity.SysConfig;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.service.BaseService;
 import com.ym.mec.util.date.DateUtil;
+import org.apache.commons.lang3.StringUtils;
 
 import java.util.Date;
 import java.util.List;
@@ -397,11 +398,17 @@ public interface SysConfigService extends BaseService<Long, SysConfig> {
     //机构云教室账户余额提醒
     String TENANT_CLOUD_ROOM_BALANCE_NOTICE = "tenant_cloud_room_balance_notice_";
 
-    static Date checkActivityDate(String startTimeStr, String endTimeStr) {
-        return checkActivityDate(DateUtil.stringToDate(startTimeStr),DateUtil.stringToDate(endTimeStr));
+    static void checkActivityDate(String startTimeStr, String endTimeStr) {
+        if(StringUtils.isEmpty(startTimeStr) || StringUtils.isEmpty(startTimeStr)){
+            return;
+        }
+        checkActivityDate(DateUtil.stringToDate(startTimeStr),DateUtil.stringToDate(endTimeStr));
     }
 
-    static Date checkActivityDate(Date startTime, Date endTime) {
+    static void checkActivityDate(Date startTime, Date endTime) {
+        if(startTime == null || endTime == null){
+            return;
+        }
         Date now = new Date();
         if (startTime.compareTo(now) > 0) {
             throw new BizException("活动还未开始,谢谢关注");
@@ -409,7 +416,6 @@ public interface SysConfigService extends BaseService<Long, SysConfig> {
         if (endTime.compareTo(now) <= 0) {
             throw new BizException("活动已结束,谢谢关注");
         }
-        return now;
     }
 
     /**

+ 4 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/VipGroupActivityService.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.VipGroupActivityDao;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
@@ -116,9 +117,11 @@ public interface VipGroupActivityService extends BaseService<Integer, VipGroupAc
     */
     HttpResponseResult buy(ActivityPayParamDto activityPayParamDto) throws Exception;
 
-    HttpResponseResult buyDoubleEleven2022(BuyDoubleEleven2022Dto buyDoubleEleven2022Dto) throws Exception;
+    HttpResponseResult buyDoubleEleven(BuyDoubleEleven2022Dto buyDoubleEleven2022Dto) throws Exception;
 
     void orderCallback(StudentPaymentOrder studentPaymentOrder);
 
     void setActivityType(VipGroupActivity activity);
+
+    void checkActivity(VipGroupActivity activity,Integer userId,Integer organId);
 }

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/LuckDrawCountServiceImpl.java

@@ -33,6 +33,9 @@ public class LuckDrawCountServiceImpl extends BaseServiceImpl<Long, LuckDrawCoun
 	@Override
 	@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
 	public boolean freeGive(Long userId, int times,Integer groupId) {
+		if(times == 0){
+			return true;
+		}
 		boolean isInsert = false;
 		LuckDrawCount luckDrawCount = luckDrawCountDao.getLock(userId);
 		if (luckDrawCount == null) {

+ 5 - 24
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -4401,17 +4401,9 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
     public Object buyActivityPracticeGroup(PracticeGroupBuyParamsDto practiceGroupBuyParams) throws Exception {
         Student student = studentDao.getLocked(practiceGroupBuyParams.getUserId());
-        this.checkActivity();
+        this.checkActivity("2022_cloud_activity_config");
         Integer activityId = practiceGroupBuyParams.getActivityId();
         VipGroupActivity activity = vipGroupActivityDao.get(activityId);
-//        Integer studentMaxUsedTimes = activity.getStudentMaxUsedTimes();
-//        if (studentMaxUsedTimes != -1) {
-//            //获取活动购买次数
-//            int activityBuyNum = activityUserMapperService.countActivityBuyNum(activityId, practiceGroupBuyParams.getUserId());
-//            if (activityBuyNum >= studentMaxUsedTimes) {
-//                throw new BizException("当前活动最多课购买{}次,感谢您的参与", studentMaxUsedTimes);
-//            }
-//        }
 
         //判断用户是否已存在订单
         // 判断是否存在支付中的记录
@@ -4422,10 +4414,6 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
                 return result;
             }
         }
-        //现价
-//        Integer buyNum = practiceGroupBuyParams.getBuyMemberNum();
-//        BigDecimal activityFee = activity.getMarketPrice().multiply(new BigDecimal(buyNum)).
-//                multiply(activity.getDiscount()).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, ROUND_DOWN);
         BigDecimal activityFee = activity.getMarketPrice().multiply(activity.getDiscount()).
                 divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, ROUND_DOWN);
         //计算订单金额
@@ -4904,9 +4892,9 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
     }
 
     @Override
-    public void checkActivity() {
+    public void checkActivity(String configName) {
         SysUser sysUser = sysUserService.getUser();
-        String activeConfig = sysConfigDao.findConfigValue("2022_cloud_activity_config");
+        String activeConfig = sysConfigDao.findConfigValue(configName);
         List<Cloud2022ActivityDto> cloud2022ActivityDtos = JSONArray.parseArray(activeConfig, Cloud2022ActivityDto.class);
         List<Cloud2022ActivityDto> activityDtos = cloud2022ActivityDtos.stream().
                 filter(e -> Arrays.stream(e.getOrganId().split(",")).collect(Collectors.toList()).
@@ -4916,15 +4904,8 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         }
         Integer activityId = Integer.parseInt(activityDtos.get(0).getActivityId().split(",")[0]);
         VipGroupActivity activity = vipGroupActivityDao.get(activityId);
-        Date now = new Date();
-        Date startTime = activity.getStartTime();
-        Date endTime = activity.getEndTime();
-        if (startTime != null && startTime.compareTo(now) > 0) {
-            throw new BizException("活动尚未开始,感谢您的关注");
-        }
-        if (endTime != null && endTime.compareTo(now) <= 0) {
-            throw new BizException("活动已结束,感谢您的参与");
-        }
+        //校验活动时间
+        SysConfigService.checkActivityDate(activity.getStartTime(),activity.getEndTime());
         //只允许购买一次
         int num = studentPaymentOrderDao.countByActivityIds(activityDtos.stream().map(e->e.getActivityId()).collect(Collectors.toList()),sysUser.getId());
         if(num > 0){

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java

@@ -139,6 +139,11 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
     private final static Logger LOGGER = LoggerFactory.getLogger(StudentPaymentOrderServiceImpl.class);
 
     @Override
+    public StudentPaymentOrderDao getDao() {
+        return studentPaymentOrderDao;
+    }
+
+    @Override
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
     public Map createOrder(StudentPaymentOrder studentPaymentOrder, List<StudentPaymentOrderDetail> details, String payReceiver) throws Exception {
 

+ 59 - 33
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupActivityServiceImpl.java

@@ -22,6 +22,7 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.common.tenant.TenantContextHolder;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.collection.MapUtil;
+import com.ym.mec.util.date.DateUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -79,6 +80,10 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 	private StudentDao studentDao;
 	@Autowired
 	private TenantConfigService tenantConfigService;
+	@Autowired
+	private LuckDrawCountService luckDrawCountService;
+	@Autowired
+	private TempBuyDoubleElevenUserLogDao tempBuyDoubleElevenUserLogDao;
 
 	@Override
 	public BaseDAO<Integer, VipGroupActivity> getDAO() {
@@ -596,20 +601,10 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 		}
 		if (studentPaymentOrder.getStatus() == DealStatusEnum.SUCCESS) {
 			Student student = studentDao.get(studentPaymentOrder.getUserId());
-			String activeConfig = sysConfigDao.findConfigValue("2022_double_eleven_give_config");
-			List<SysConfigJsonDto> cloud2022ActivityDtos = JSONArray.parseArray(activeConfig, SysConfigJsonDto.class);
-			List<SysConfigJsonDto> activityDtos = cloud2022ActivityDtos.stream().
-					filter(e -> Arrays.stream(e.getKey().split(",")).collect(Collectors.toList()).
-							contains(studentPaymentOrder.getActivityId())).collect(Collectors.toList());
-			if(!CollectionUtils.isEmpty(activityDtos)){
-				SysConfigJsonDto jsonDto = activityDtos.get(0);
-				//处理双十一活动特殊处理
-//				if(){
-//
-//				}
-				//赠送抽奖机会
-			}
+			//处理双十一活动特殊赠送
+			this.doubleElevenGive(studentPaymentOrder);
 			//处理活动赠送
+
 			studentPaymentOrderService.activityGive(Integer.parseInt(studentPaymentOrder.getActivityId()), studentPaymentOrder,
 					null, null, student.getTeacherId());
 			//保存账户信息
@@ -625,6 +620,33 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 		}
 	}
 
+	//处理双十一活动特殊赠送
+	private void doubleElevenGive(StudentPaymentOrder studentPaymentOrder){
+		String activeConfig = sysConfigDao.findConfigValue("2022_double_eleven_give_config");
+		List<SysConfigJsonDto> cloud2022ActivityDtos = JSONArray.parseArray(activeConfig, SysConfigJsonDto.class);
+		List<SysConfigJsonDto> activityDtos = cloud2022ActivityDtos.stream().
+				filter(e -> Arrays.stream(e.getKey().split(",")).collect(Collectors.toList()).
+						contains(studentPaymentOrder.getActivityId())).collect(Collectors.toList());
+		if(!CollectionUtils.isEmpty(activityDtos)){
+			SysConfigJsonDto jsonDto = activityDtos.get(0);
+			//处理双十一活动特殊处理
+			String giveStartTime = sysConfigDao.findConfigValue("2021_double_eleven_give_member_start_time");
+			String giveEndTime = sysConfigDao.findConfigValue("2021_double_eleven_give_member_end_time");
+			Date now = new Date();
+			TempBuyDoubleElevenUserLog doubleElevenUserLog = new TempBuyDoubleElevenUserLog();
+			doubleElevenUserLog.setUserId(studentPaymentOrder.getUserId());
+			doubleElevenUserLog.setCreateTime(now);
+			doubleElevenUserLog.setOrganId(studentPaymentOrder.getOrganId());
+			if(DateUtil.contents(giveStartTime,giveEndTime,now)){
+				//符合赠送条件,赠送乐保套装
+				doubleElevenUserLog.setGiveFlag(true);
+			}
+			tempBuyDoubleElevenUserLogDao.insert(doubleElevenUserLog);
+			//赠送抽奖机会
+			luckDrawCountService.freeGive(studentPaymentOrder.getUserId().longValue(),Integer.parseInt(jsonDto.getValue()),3);
+		}
+	}
+
     @Override
     public void setActivityType(VipGroupActivity activity) {
 		//如果是会员活动
@@ -653,33 +675,18 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 
 	@Override
 	@Transactional( rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED)
-	public HttpResponseResult buyDoubleEleven2022(BuyDoubleEleven2022Dto payParam) throws Exception {
+	public HttpResponseResult buyDoubleEleven(BuyDoubleEleven2022Dto payParam) throws Exception {
 		String activityIdList = payParam.getActivityIdList();
 		List<VipGroupActivity> vipGroupActivities = vipGroupActivityDao.queryByIds(activityIdList);
 		Student student = studentDao.getLocked(payParam.getUserId());
 		BigDecimal activityFee = ZERO;
-		for (int i = 0; i < vipGroupActivities.size(); i++) {
-			VipGroupActivity activity = vipGroupActivities.get(i);
-			//校验活动时间
-			SysConfigService.checkActivityDate(activity.getStartTime(),activity.getEndTime());
-			Integer studentMaxUsedTimes = activity.getStudentMaxUsedTimes();
-			if(studentMaxUsedTimes != -1){
-				//获取活动购买次数
-				int activityBuyNum = activityUserMapperService.countActivityBuyNum(activity.getId(), payParam.getUserId());
-				if(activityBuyNum >= studentMaxUsedTimes){
-					throw new BizException("{}活动最多课购买{}次,感谢您的参与",activity.getName(),studentMaxUsedTimes);
-				}
-			}
+		for (VipGroupActivity activity : vipGroupActivities) {
+			//校验活动购买条件
+			this.checkActivity(activity,payParam.getUserId(),payParam.getOrganId());
 			activityFee = activityFee.add(activity.getMarketPrice());
 		}
-
 		// 判断是否存在支付中的记录
-		List<StudentPaymentOrder> list = studentPaymentOrderService
-				.queryByCondition(GroupType.ACTIVITY,
-						payParam.getActivityIdList(),
-						payParam.getUserId(),
-						DealStatusEnum.ING,OrderTypeEnum.SMALL_CLASS_TO_BUY);
-
+		List<StudentPaymentOrder> list = studentPaymentOrderService.queryByCondition(GroupType.ACTIVITY,null,student.getUserId(),DealStatusEnum.ING,OrderTypeEnum.SMALL_CLASS_TO_BUY);
 		if (list.size() > 0) {
 			StudentPaymentOrder applyOrder = list.get(list.size() - 1);
 			//校验重复支付
@@ -743,6 +750,25 @@ public class VipGroupActivityServiceImpl extends BaseServiceImpl<Integer, VipGro
 		return BaseController.succeed(payMap);
 	}
 
+	@Override
+	public void checkActivity(VipGroupActivity activity,Integer userId,Integer organId){
+		//校验分部
+		String activityOrganIds = activity.getOrganId();
+		if(StringUtils.isNotEmpty(activityOrganIds) && !activityOrganIds.contains(organId.toString())){
+			throw new BizException("当前分部暂不支持此活动");
+		}
+		//校验活动有效时间
+		SysConfigService.checkActivityDate(activity.getStartTime(),activity.getEndTime());
+		Integer studentMaxUsedTimes = activity.getStudentMaxUsedTimes();
+		if(studentMaxUsedTimes != -1){
+			//获取活动购买次数
+			int activityBuyNum = activityUserMapperService.countActivityBuyNum(activity.getId(),userId);
+			if(activityBuyNum >= studentMaxUsedTimes){
+				throw new BizException("{}活动最多课购买{}次,感谢您的参与",activity.getName(),studentMaxUsedTimes);
+			}
+		}
+	}
+
     private void sendSuccessMsg(StudentPaymentOrder studentPaymentOrder){
 		Integer userId = studentPaymentOrder.getUserId();
 		VipGroupActivity vipGroupActivity = vipGroupActivityDao.get(Integer.parseInt(studentPaymentOrder.getActivityId()));

+ 2 - 2
mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderMapper.xml

@@ -992,9 +992,9 @@
         WHERE status_ = 'SUCCESS' AND music_group_id_ = #{vipGroupId}
         GROUP BY user_id_
     </select>
-    <select id="queryStudentDoubleEleven2021Order" resultType="java.lang.String">
+    <select id="queryStudentDoubleElevenOrder" resultType="java.lang.String">
         SELECT GROUP_CONCAT(activity_id_) FROM student_payment_order
-        WHERE type_ = 'DOUBLE_ELEVEN2021' AND status_ = 'SUCCESS' AND user_id_ = #{userId}
+        WHERE type_ = 'SMALL_CLASS_TO_BUY' AND group_type_ = 'ACTIVITY' AND memo_ = '2022双十一活动购买' AND status_ = 'SUCCESS' AND user_id_ = #{userId}
     </select>
     <select id="findByCalenderId" resultMap="StudentPaymentOrder">
         SELECT * FROM student_payment_order WHERE calender_id_ = #{calenderId} AND status_ = 'SUCCESS' AND user_id_ = #{userId}

+ 37 - 0
mec-biz/src/main/resources/config/mybatis/TempBuyDoubleElevenUserLog.xml

@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.biz.dal.dao.TempBuyDoubleElevenUserLogDao">
+
+    <resultMap type="com.ym.mec.biz.dal.entity.TempBuyDoubleElevenUserLog" id="TempBuyDoubleElevenUserLog">
+        <result column="id_" property="id"/>
+        <result column="user_id_" property="userId"/>
+        <result column="organ_id_" property="organId"/>
+        <result column="give_flag_" property="giveFlag"/>
+        <result column="create_time_" property="createTime"/>
+    </resultMap>
+
+    <!-- 根据主键查询一条记录 -->
+    <select id="get" resultMap="TempBuyDoubleElevenUserLog">
+        SELECT *
+        FROM temp_buy_double_eleven_user_log
+        WHERE id_ = #{id}
+    </select>
+
+    <!-- 全查询 -->
+    <select id="findAll" resultMap="TempBuyDoubleElevenUserLog">
+        SELECT *
+        FROM temp_buy_double_eleven_user_log
+        ORDER BY id_
+    </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>
+</mapper>

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

@@ -59,19 +59,19 @@ public class ActivityController extends BaseController {
     }
 
     @ApiOperation("2022双十一活动购买")
-    @PostMapping(value = "/buyDoubleEleven2022")
+    @PostMapping(value = "/buyDoubleEleven")
     @AuditLogAnnotation(operateName = "2022双十一活动购买")
-    public HttpResponseResult buyDoubleEleven2022(@RequestBody BuyDoubleEleven2022Dto buyDoubleEleven2022Dto) throws Exception {
-        String startTimeStr = sysConfigDao.findConfigValue(SysConfigService.START_TIME_OF_1111);
-        String endTimeStr = sysConfigDao.findConfigValue(SysConfigService.END_TIME_OF_1111);
-        SysConfigService.checkActivityDate(startTimeStr,endTimeStr);
+    public HttpResponseResult buyDoubleEleven(@RequestBody BuyDoubleEleven2022Dto buyDoubleEleven2022Dto) throws Exception {
+//        String startTimeStr = sysConfigDao.findConfigValue(SysConfigService.START_TIME_OF_1111);
+//        String endTimeStr = sysConfigDao.findConfigValue(SysConfigService.END_TIME_OF_1111);
+//        SysConfigService.checkActivityDate(startTimeStr,endTimeStr);
         if(StringUtils.isEmpty(buyDoubleEleven2022Dto.getActivityIdList())){
             throw new BizException("请选择活动");
         }
         SysUser sysUser = sysUserService.getUser();
         buyDoubleEleven2022Dto.setOrganId(sysUser.getOrganId());
         buyDoubleEleven2022Dto.setUserId(sysUser.getId());
-        return vipGroupActivityService.buyDoubleEleven2022(buyDoubleEleven2022Dto);
+        return vipGroupActivityService.buyDoubleEleven(buyDoubleEleven2022Dto);
     }
 
     @ApiOperation(value = "分部双11活动信息")
@@ -120,7 +120,7 @@ public class ActivityController extends BaseController {
     public Object queryStudentDoubleEleven2022Order() {
         SysUser user = sysUserService.getUser();
         List<ActivityDetailDto> activityDetailDtos = marketActivityService.queryActivity(3, user.getOrganId());
-        String activitys = studentPaymentOrderDao.queryStudentDoubleEleven2021Order(user.getId());
+        String activitys = studentPaymentOrderDao.queryStudentDoubleElevenOrder(user.getId());
         List<Integer> activityList = new ArrayList<>();
         if(StringUtils.isNotEmpty(activitys)){
             for (ActivityDetailDto activityDetailDto : activityDetailDtos) {
@@ -139,9 +139,6 @@ public class ActivityController extends BaseController {
                             activityList.add(4);
                         }
                     }
-                    if(activityDetailDto.getCategoryName().equals("乐理课")){
-                        activityList.add(5);
-                    }
                 }
             }
             return succeed(StringUtils.join(activityList,","));

+ 1 - 4
mec-student/src/main/java/com/ym/mec/student/controller/PracticeGroupController.java

@@ -233,9 +233,6 @@ public class PracticeGroupController extends BaseController {
     @PostMapping(value = "/buyActivity")
     @AuditLogAnnotation(operateName = "营销活动购买")
     public HttpResponseResult buyActivity(@RequestBody PracticeGroupBuyParamsDto practiceGroupBuyParams) throws Exception {
-//        if(CollectionUtils.isNotEmpty(practiceGroupBuyParams.getCouponIdList())){
-//            throw new BizException("当前活动不支持优惠券");
-//        }
         SysUser sysUser = sysUserService.getUser();
         practiceGroupBuyParams.setUserId(sysUser.getId());
         practiceGroupBuyParams.setOrganId(sysUser.getOrganId());
@@ -245,7 +242,7 @@ public class PracticeGroupController extends BaseController {
     @ApiOperation("是否可以购买活动")
     @GetMapping(value = "/checkActivity")
     public HttpResponseResult checkActivity(){
-        practiceGroupService.checkActivity();
+        practiceGroupService.checkActivity("2022_cloud_activity_config");
         return succeed();
     }
 

+ 20 - 8
mec-util/src/main/java/com/ym/mec/util/date/DateUtil.java

@@ -1159,6 +1159,16 @@ public class DateUtil {
 		return false;
 	}
 
+
+	public static boolean contents(String startTimeStr, String endTimeStr, Date now) {
+		Date startTime = DateUtil.stringToDate(startTimeStr, DateUtil.EXPANDED_DATE_TIME_FORMAT);
+		Date endTime = DateUtil.stringToDate(endTimeStr, DateUtil.EXPANDED_DATE_TIME_FORMAT);
+		if(startTime.compareTo(now) <= 0 && endTime.compareTo(now) >= 0){
+			return true;
+		}
+		return false;
+	}
+
 	/**
 	 * @describe 时间区段辅助类
 	 * @author Joburgess
@@ -1305,14 +1315,16 @@ public class DateUtil {
 
 	public static void main(String[] args) throws ParseException {
 		// DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
-		DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//		DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 //		 System.out.println(daysBetween(df.parse("2017-07-20 10:07:42"), df.parse(df.format(new Date()))));
-		System.out.println(getWeekMondayWithDate(new Date()));
-		System.out.println(getNextWeekMonday(new Date()));
-		System.out.println(getNextWeekSunday(new Date()));
-		System.out.println(dayEnd(new Date()));
-		System.out.println(format(getLastDayOfMonth(new Date()),CHINESE_DATA_FORMAT));
-		System.out.println(monthsBetween(df1.parse("2020-01-18 12:00:00"),df1.parse("2020-04-19 12:00:00")));
-		System.out.println(getNextWeekMonday(new Date()));
+//		System.out.println(getWeekMondayWithDate(new Date()));
+//		System.out.println(getNextWeekMonday(new Date()));
+//		System.out.println(getNextWeekSunday(new Date()));
+//		System.out.println(dayEnd(new Date()));
+//		System.out.println(format(getLastDayOfMonth(new Date()),CHINESE_DATA_FORMAT));
+//		System.out.println(monthsBetween(df1.parse("2020-01-18 12:00:00"),df1.parse("2020-04-19 12:00:00")));
+//		System.out.println(getNextWeekMonday(new Date()));
+
+		contents("2022-10-25 10:11:11","2022-10-25 11:11:11",new Date());
 	}
 }

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

@@ -60,6 +60,13 @@ public class VipGroupActivityController extends BaseController {
         return succeed(vipGroupActivityService.organDoubleEleven2021Statis(queryInfo));
     }
 
+    @ApiOperation(value = "分部双11活动统计")
+    @GetMapping("/organDoubleEleven2022Statis")
+    @PreAuthorize("@pcs.hasPermissions('vipGroupActivity/organDoubleEleven2022Statis')")
+    public HttpResponseResult organDoubleEleven2022Statis(OrganDoubleEleven2021StatisDto queryInfo){
+        return succeed(vipGroupActivityService.organDoubleEleven2021Statis(queryInfo));
+    }
+
     @ApiOperation(value = "分部2021双11活动学员列表")
     @GetMapping("/doubleEleven2021OrderDetail")
     @PreAuthorize("@pcs.hasPermissions('vipGroupActivity/doubleEleven2021OrderDetail')")