Browse Source

活动模块调整

dzx 7 months ago
parent
commit
e00a68017e

+ 2 - 1
src/main/java/com/xjrsoft/module/activity/controller/ActivityEnrollController.java

@@ -21,7 +21,6 @@ import com.xjrsoft.module.activity.entity.ActivityEnroll;
 import com.xjrsoft.module.activity.service.IActivityEnrollService;
 import com.xjrsoft.module.activity.vo.ActivityEnrollExcelVo;
 import com.xjrsoft.module.activity.vo.ActivityEnrollPageVo;
-import com.xjrsoft.module.banding.vo.BandingTaskClassExcelVo;
 import com.xjrsoft.module.concat.service.IXjrUserService;
 import com.xjrsoft.module.teacher.entity.XjrUser;
 import io.swagger.annotations.Api;
@@ -40,6 +39,7 @@ import javax.validation.Valid;
 import java.io.ByteArrayOutputStream;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -166,6 +166,7 @@ public class ActivityEnrollController {
         }
         ActivityEnroll activityEnroll = new ActivityEnroll() {{
             setUserId(StpUtil.getLoginIdAsLong());
+            setCreateDate(new Date());
             setActivityInfoId(dto.getActivityInfoId());
         }};
         boolean save = activityEnrollService.save(activityEnroll);

+ 12 - 1
src/main/java/com/xjrsoft/module/activity/controller/ActivityInfoController.java

@@ -20,11 +20,14 @@ import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.module.activity.dto.ActivityEnrollExportDto;
 import com.xjrsoft.module.activity.dto.ActivityEnrollPageDto;
 import com.xjrsoft.module.activity.dto.ActivityInfoPageDto;
+import com.xjrsoft.module.activity.dto.AddActivityEnrollRangeDto;
 import com.xjrsoft.module.activity.dto.AddActivityInfoDto;
 import com.xjrsoft.module.activity.dto.ChangeStatusDto;
 import com.xjrsoft.module.activity.dto.UpdateActivityInfoDto;
 import com.xjrsoft.module.activity.entity.ActivityEnroll;
+import com.xjrsoft.module.activity.entity.ActivityEnrollRange;
 import com.xjrsoft.module.activity.entity.ActivityInfo;
+import com.xjrsoft.module.activity.service.IActivityEnrollRangeService;
 import com.xjrsoft.module.activity.service.IActivityEnrollService;
 import com.xjrsoft.module.activity.service.IActivityInfoService;
 import com.xjrsoft.module.activity.vo.ActivityEnrollPageVo;
@@ -77,7 +80,7 @@ public class ActivityInfoController {
     private final IXjrUserService xjrUserService;
     private final IFileService fileService;
     private final IActivityEnrollService enrollService;
-
+    private final IActivityEnrollRangeService rangeService;
 
     @GetMapping(value = "/page")
     @ApiOperation(value="活动信息列表(分页)")
@@ -204,6 +207,14 @@ public class ActivityInfoController {
     @ApiOperation(value="移动端活动信息列表(分页)")
     @SaCheckPermission("activityinfo:detail")
     public RT<PageOutput<ActivityInfoPageVo>> mobilePage(@Valid ActivityInfoPageDto dto){
+        AddActivityEnrollRangeDto rangeDto = new AddActivityEnrollRangeDto();
+        if(dto.getLoginUserId() == null){
+            dto.setLoginUserId(StpUtil.getLoginIdAsLong());
+        }
+
+        rangeDto.setUserId(dto.getLoginUserId());
+        List<Long> activityInfoIds = rangeService.getActivityInfoIds(rangeDto);
+        dto.setActivityInfoIds(activityInfoIds);
         dto.setIsEffective(1);
         Page<ActivityInfoPageVo> page = activityInfoService.getPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
 

+ 5 - 0
src/main/java/com/xjrsoft/module/activity/dto/ActivityInfoPageDto.java

@@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.util.List;
+
 
 /**
 * @title: 活动信息分页查询入参
@@ -36,4 +38,7 @@ public class ActivityInfoPageDto extends PageInput {
 
     @ApiModelProperty("状态(0:未发布 1:报名中 2:报名结束 3:活动结束)")
     private Integer status;
+
+    @ApiModelProperty("活动ids")
+    private List<Long> activityInfoIds;
 }

+ 5 - 0
src/main/java/com/xjrsoft/module/activity/mapper/ActivityEnrollRangeMapper.java

@@ -1,8 +1,12 @@
 package com.xjrsoft.module.activity.mapper;
 
 import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.activity.dto.AddActivityEnrollRangeDto;
 import com.xjrsoft.module.activity.entity.ActivityEnrollRange;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
 * @title: 活动报名范围
@@ -13,4 +17,5 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface ActivityEnrollRangeMapper extends MPJBaseMapper<ActivityEnrollRange> {
 
+    List<Long> getActivityInfoIds(@Param("dto") AddActivityEnrollRangeDto dto);
 }

+ 19 - 0
src/main/java/com/xjrsoft/module/activity/service/IActivityEnrollRangeService.java

@@ -0,0 +1,19 @@
+package com.xjrsoft.module.activity.service;
+
+import com.github.yulichang.base.MPJBaseService;
+import com.xjrsoft.module.activity.dto.AddActivityEnrollRangeDto;
+import com.xjrsoft.module.activity.entity.ActivityEnrollRange;
+
+import java.util.List;
+
+/**
+* @title: 活动信息
+* @Author dzx
+* @Date: 2024-07-19
+* @Version 1.0
+*/
+
+public interface IActivityEnrollRangeService extends MPJBaseService<ActivityEnrollRange> {
+
+    List<Long> getActivityInfoIds(AddActivityEnrollRangeDto dto);
+}

+ 26 - 0
src/main/java/com/xjrsoft/module/activity/service/impl/ActivityEnrollRangeServiceImpl.java

@@ -0,0 +1,26 @@
+package com.xjrsoft.module.activity.service.impl;
+
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.module.activity.dto.AddActivityEnrollRangeDto;
+import com.xjrsoft.module.activity.entity.ActivityEnrollRange;
+import com.xjrsoft.module.activity.mapper.ActivityEnrollRangeMapper;
+import com.xjrsoft.module.activity.service.IActivityEnrollRangeService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+* @title: 活动信息
+* @Author dzx
+* @Date: 2024-07-19
+* @Version 1.0
+*/
+@Service
+@AllArgsConstructor
+public class ActivityEnrollRangeServiceImpl extends MPJBaseServiceImpl<ActivityEnrollRangeMapper, ActivityEnrollRange> implements IActivityEnrollRangeService {
+    @Override
+    public List<Long> getActivityInfoIds(AddActivityEnrollRangeDto dto) {
+        return this.baseMapper.getActivityInfoIds(dto);
+    }
+}

+ 13 - 0
src/main/resources/mapper/activity/ActivityEnrollRangeMapper.xml

@@ -0,0 +1,13 @@
+<?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.xjrsoft.module.activity.mapper.ActivityEnrollRangeMapper">
+    <select id="getActivityInfoIds" parameterType="com.xjrsoft.module.activity.dto.AddActivityEnrollRangeDto" resultType="java.lang.Long">
+        SELECT activity_info_id FROM activity_enroll_range WHERE delete_mark = 0 AND (
+                user_id = #{dto.userId}
+                OR class_id IN (SELECT class_id FROM base_student_school_roll WHERE delete_mark = 0 AND user_id = #{dto.userId})
+                OR dept_id IN (SELECT dept_id FROM xjr_user_dept_relation WHERE user_id = #{dto.userId})
+        )
+    </select>
+</mapper>

+ 6 - 0
src/main/resources/mapper/activity/ActivityInfoMapper.xml

@@ -30,6 +30,12 @@
         <if test="dto.status != null ">
             and t1.status = #{dto.status}
         </if>
+        <if test="dto.activityInfoIds != null and dto.activityInfoIds.size() > 0">
+            and t1.id in
+            <foreach item="id" index="index" collection="dto.activityInfoIds" open="(" close=")" separator=",">
+                #{id}
+            </foreach>
+        </if>
     </select>
     <select id="getMyPage" parameterType="com.xjrsoft.module.activity.dto.ActivityInfoPageDto" resultType="com.xjrsoft.module.activity.vo.ActivityInfoPageVo">
         SELECT t1.id,t2.name AS type_cn,t3.company_name AS enterprise_name,t1.name,t1.place,t1.start_date,t1.end_date,