diff --git a/seer-mp/seer-mp-data-module/src/main/java/com/seer/teach/mp/entity/MpActivityInfoCollectionEntity.java b/seer-mp/seer-mp-data-module/src/main/java/com/seer/teach/mp/entity/MpActivityInfoCollectionEntity.java
index 3339512..512baa6 100644
--- a/seer-mp/seer-mp-data-module/src/main/java/com/seer/teach/mp/entity/MpActivityInfoCollectionEntity.java
+++ b/seer-mp/seer-mp-data-module/src/main/java/com/seer/teach/mp/entity/MpActivityInfoCollectionEntity.java
@@ -2,16 +2,12 @@ package com.seer.teach.mp.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
-import com.seer.teach.common.config.mybatis.hanler.IntegerListTypeHandler;
import com.seer.teach.common.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.util.List;
-import java.util.Set;
/**
*
@@ -33,18 +29,18 @@ public class MpActivityInfoCollectionEntity extends BaseEntity {
@TableField("relation_id")
private Integer relationId;
- /**
- * 活动ID
- */
- @TableField("activity_id")
- private Integer activityId;
-
/**
* 代理商ID
*/
@TableField("agent_id")
private Integer agentId;
+ /**
+ * 活动ID
+ */
+ @TableField("activity_id")
+ private Integer activityId;
+
/**
* 家长ID
*/
@@ -100,14 +96,9 @@ public class MpActivityInfoCollectionEntity extends BaseEntity {
private String learningSituation;
/**
- * 优势学科(数学、英语等)
+ * 偏科(数学、英语等)
*/
- @TableField(value = "strong_subject_ids",typeHandler = IntegerListTypeHandler.class)
- private List strongSubjectIds;
+ @TableField("weak_subject")
+ private String weakSubject;
- /**
- * 劣势学科(数学、英语等)
- */
- @TableField(value = "weak_subject_ids",typeHandler = IntegerListTypeHandler.class)
- private List weakSubjectIds;
}
\ No newline at end of file
diff --git a/seer-mp/seer-mp-data-module/src/main/java/com/seer/teach/mp/entity/MpParentAgentActivityRelationEntity.java b/seer-mp/seer-mp-data-module/src/main/java/com/seer/teach/mp/entity/MpParentAgentActivityRelationEntity.java
index e477fcd..49d0043 100644
--- a/seer-mp/seer-mp-data-module/src/main/java/com/seer/teach/mp/entity/MpParentAgentActivityRelationEntity.java
+++ b/seer-mp/seer-mp-data-module/src/main/java/com/seer/teach/mp/entity/MpParentAgentActivityRelationEntity.java
@@ -19,7 +19,7 @@ import java.time.LocalDateTime;
*/
@Getter
@Setter
-@TableName("mp_parent_agent_activity_relations")
+@TableName("mp_parent_agent_activity_relation")
@Schema(name = "MpParentAgentActivityRelationEntity对象", description = "家长参与代理商活动关系表")
public class MpParentAgentActivityRelationEntity extends BaseEntity {
diff --git a/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/controller/AdminActivityInfoCollectionController.java b/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/controller/AdminActivityInfoCollectionController.java
new file mode 100644
index 0000000..b4ac6b7
--- /dev/null
+++ b/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/controller/AdminActivityInfoCollectionController.java
@@ -0,0 +1,50 @@
+package com.seer.teach.mp.admin.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.seer.teach.common.PageListBean;
+import com.seer.teach.common.ResultBean;
+import com.seer.teach.common.annotation.LogPrint;
+import com.seer.teach.mp.admin.controller.req.ActivityInfoCollectionQueryReq;
+import com.seer.teach.mp.admin.controller.resp.AdminActivityInfoCollectionResp;
+import com.seer.teach.mp.admin.service.AdminActivityInfoCollectionService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@Tag(name = "管理端 - 活动信息收集管理")
+@LogPrint
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/mp/activity/info/collection")
+public class AdminActivityInfoCollectionController {
+
+ private final AdminActivityInfoCollectionService adminActivityInfoCollectionService;
+
+ @PostMapping("/page")
+ @SaCheckPermission("admin:activity:info:collection:page")
+ @Operation(summary = "分页查询活动信息收集记录")
+ public ResultBean> pageList(
+ @RequestBody @Validated ActivityInfoCollectionQueryReq req) {
+ PageListBean result = adminActivityInfoCollectionService.pageList(req);
+ return ResultBean.success(result);
+ }
+
+
+ @GetMapping("/{id}")
+ @SaCheckPermission("admin:activity:info:collection:detail")
+ @Operation(summary = "获取活动信息收集记录详情")
+ public ResultBean detail(@PathVariable Integer id) {
+ return ResultBean.success(adminActivityInfoCollectionService.getDetail(id));
+ }
+
+ @PostMapping("delete")
+ @SaCheckPermission("admin:activity:info:collection:delete")
+ @Operation(summary = "删除活动信息收集记录")
+ public ResultBean delete(@RequestBody List ids) {
+ return ResultBean.success(adminActivityInfoCollectionService.delete(ids));
+ }
+}
diff --git a/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/controller/AdminParentAgentActivityController.java b/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/controller/AdminParentAgentActivityController.java
index 83205dd..dc3e104 100644
--- a/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/controller/AdminParentAgentActivityController.java
+++ b/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/controller/AdminParentAgentActivityController.java
@@ -1,30 +1,26 @@
package com.seer.teach.mp.admin.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.seer.teach.common.PageListBean;
import com.seer.teach.common.ResultBean;
import com.seer.teach.common.annotation.LogPrint;
-import com.seer.teach.common.utils.PageConverterUtils;
import com.seer.teach.mp.admin.controller.req.ParentAgentActivityQueryReq;
import com.seer.teach.mp.admin.controller.resp.AdminParentAgentActivityResp;
-import com.seer.teach.mp.admin.controller.resp.MpParentAgentActivityResp;
import com.seer.teach.mp.admin.service.AdminParentAgentActivityService;
-import com.seer.teach.mp.entity.MpParentAgentActivityRelationEntity;
-import com.seer.teach.mp.service.IMpParentAgentActivityRelationService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
+import java.util.List;
+
/**
* 家长参与代理商活动控制器 - 管理端
*/
@Tag(name = "管理端 - 家长参与代理商活动管理")
@AllArgsConstructor
@RestController
-@RequestMapping("/mp/admin/parent/agent/activity")
+@RequestMapping("/mp/parent/agent/activity")
public class AdminParentAgentActivityController {
private final AdminParentAgentActivityService adminParentAgentActivityService;
@@ -45,4 +41,12 @@ public class AdminParentAgentActivityController {
public ResultBean detail(@PathVariable Integer id) {
return ResultBean.success(adminParentAgentActivityService.getDetail(id));
}
+
+ @PostMapping("delete")
+ @SaCheckPermission("admin:parent:agent:activity:delete")
+ @Operation(summary = "删除家长参与代理商活动记录")
+ @LogPrint
+ public ResultBean delete(@RequestBody List ids) {
+ return ResultBean.success(adminParentAgentActivityService.delete(ids));
+ }
}
\ No newline at end of file
diff --git a/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/controller/req/ActivityInfoCollectionQueryReq.java b/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/controller/req/ActivityInfoCollectionQueryReq.java
new file mode 100644
index 0000000..c3e2173
--- /dev/null
+++ b/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/controller/req/ActivityInfoCollectionQueryReq.java
@@ -0,0 +1,37 @@
+package com.seer.teach.mp.admin.controller.req;
+
+import com.seer.teach.common.request.PageRequest;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Schema(description = "活动信息收集查询请求")
+public class ActivityInfoCollectionQueryReq extends PageRequest {
+
+ /**
+ * 孩子姓名
+ */
+ @Schema(description = "孩子姓名")
+ private String childName;
+
+ /**
+ * 孩子性别(M-男,F-女)
+ */
+ @Schema(description = "孩子性别")
+ private String childGender;
+
+ /**
+ * 年级
+ */
+ @Schema(description = "年级")
+ private String grade;
+
+ /**
+ * 学校
+ */
+ @Schema(description = "学校")
+ private String school;
+
+}
diff --git a/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/controller/resp/AdminActivityInfoCollectionResp.java b/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/controller/resp/AdminActivityInfoCollectionResp.java
new file mode 100644
index 0000000..66b28c5
--- /dev/null
+++ b/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/controller/resp/AdminActivityInfoCollectionResp.java
@@ -0,0 +1,95 @@
+package com.seer.teach.mp.admin.controller.resp;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Data
+@Schema(name = "AdminActivityInfoCollectionResp", description = "活动信息收集响应参数")
+public class AdminActivityInfoCollectionResp {
+
+ private Integer id;
+
+ /**
+ * 关联的家长参与代理商活动关系ID
+ */
+ @Schema(description = "关联的家长参与代理商活动关系ID")
+ private Integer relationId;
+
+ @Schema(description = "代理商ID")
+ private Integer agentId;
+
+ /**
+ * 活动ID
+ */
+ @Schema(description = "活动ID")
+ private Integer activityId;
+
+ /**
+ * 家长ID
+ */
+ @Schema(description = "家长ID")
+ private Integer parentId;
+
+ /**
+ * 孩子姓名
+ */
+ @Schema(description = "孩子姓名")
+ private String childName;
+
+ /**
+ * 孩子性别(M-男,F-女)
+ */
+ @Schema(description = "孩子性别")
+ private String childGender;
+
+ /**
+ * 出生年月
+ */
+ @Schema(description = "出生年月")
+ private LocalDate childBirthDate;
+
+ /**
+ * 年级
+ */
+ @Schema(description = "年级")
+ private String grade;
+
+ /**
+ * 学校
+ */
+ @Schema(description = "学校")
+ private String school;
+
+ /**
+ * 地区
+ */
+ @Schema(description = "地区")
+ private String region;
+
+ /**
+ * 家长身份(爸爸,妈妈)
+ */
+ @Schema(description = "家长身份(爸爸,妈妈)")
+ private String parentIdentity;
+
+ /**
+ * 学习情况(优、良、中、差)
+ */
+ @Schema(description = "学习情况(优、良、中、差)")
+ private String learningSituation;
+
+ /**
+ * 优势学科(数学、英语等)
+ */
+ @Schema(description = "偏科(数学、英语等)")
+ private String weakSubject;
+
+ @Schema(description = "创建时间")
+ private LocalDateTime createTime;
+
+ @Schema(description = "更新时间")
+ private LocalDateTime updateTime;
+}
diff --git a/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/controller/resp/AdminParentAgentActivityResp.java b/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/controller/resp/AdminParentAgentActivityResp.java
index 0a7b152..d41a34b 100644
--- a/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/controller/resp/AdminParentAgentActivityResp.java
+++ b/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/controller/resp/AdminParentAgentActivityResp.java
@@ -42,4 +42,8 @@ public class AdminParentAgentActivityResp {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
+ @Schema(description = "创建时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime updateTime;
+
}
\ No newline at end of file
diff --git a/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/convert/AdminActivityInfoCollectionConvert.java b/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/convert/AdminActivityInfoCollectionConvert.java
new file mode 100644
index 0000000..a4a663d
--- /dev/null
+++ b/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/convert/AdminActivityInfoCollectionConvert.java
@@ -0,0 +1,18 @@
+package com.seer.teach.mp.admin.convert;
+
+import com.seer.teach.mp.admin.controller.resp.AdminActivityInfoCollectionResp;
+import com.seer.teach.mp.entity.MpActivityInfoCollectionEntity;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+@Mapper
+public interface AdminActivityInfoCollectionConvert {
+
+ AdminActivityInfoCollectionConvert INSTANCE = Mappers.getMapper(AdminActivityInfoCollectionConvert.class);
+
+ AdminActivityInfoCollectionResp convertToResp(MpActivityInfoCollectionEntity entity);
+
+ List convertToRespList(List entity);
+}
diff --git a/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/convert/AdminParentAgentActivityConvert.java b/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/convert/AdminParentAgentActivityConvert.java
index ff236ad..265bb19 100644
--- a/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/convert/AdminParentAgentActivityConvert.java
+++ b/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/convert/AdminParentAgentActivityConvert.java
@@ -7,6 +7,7 @@ import org.mapstruct.factory.Mappers;
import java.util.List;
+@org.mapstruct.Mapper
@Mapper
public interface AdminParentAgentActivityConvert {
diff --git a/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/service/AdminActivityInfoCollectionService.java b/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/service/AdminActivityInfoCollectionService.java
new file mode 100644
index 0000000..4648453
--- /dev/null
+++ b/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/service/AdminActivityInfoCollectionService.java
@@ -0,0 +1,62 @@
+package com.seer.teach.mp.admin.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.seer.teach.common.PageListBean;
+import com.seer.teach.common.utils.PageConverterUtils;
+import com.seer.teach.mp.admin.controller.req.ActivityInfoCollectionQueryReq;
+import com.seer.teach.mp.admin.controller.resp.AdminActivityInfoCollectionResp;
+import com.seer.teach.mp.admin.convert.AdminActivityInfoCollectionConvert;
+import com.seer.teach.mp.entity.MpActivityInfoCollectionEntity;
+import com.seer.teach.mp.service.IMpActivityInfoCollectionService;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Objects;
+
+@Service
+@Slf4j
+@RequiredArgsConstructor
+public class AdminActivityInfoCollectionService {
+
+ private final IMpActivityInfoCollectionService mpActivityInfoCollectionService;
+
+ /**
+ * 分页查询活动信息收集记录
+ *
+ * @param req 查询参数
+ * @return 分页结果
+ */
+ public PageListBean pageList(ActivityInfoCollectionQueryReq req) {
+ Page page = new Page<>(req.getPageNo(), req.getPageSize());
+ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
+ wrapper.like(Objects.nonNull(req.getChildName()) && !req.getChildName().isEmpty(), MpActivityInfoCollectionEntity::getChildName, req.getChildName())
+ .like(Objects.nonNull(req.getGrade()) && !req.getGrade().isEmpty(), MpActivityInfoCollectionEntity::getGrade, req.getGrade())
+ .like(Objects.nonNull(req.getSchool()) && !req.getSchool().isEmpty(), MpActivityInfoCollectionEntity::getSchool, req.getSchool())
+ .like(Objects.nonNull(req.getChildGender()) && !req.getChildGender().isEmpty(), MpActivityInfoCollectionEntity::getChildGender, req.getChildGender())
+ .orderByDesc(MpActivityInfoCollectionEntity::getCreateTime);
+ Page result = mpActivityInfoCollectionService.page(page, wrapper);
+ return PageConverterUtils.convertPageListBean(result, AdminActivityInfoCollectionConvert.INSTANCE::convertToRespList);
+ }
+
+ /**
+ * 获取活动信息收集记录详情
+ * @param id 记录ID
+ * @return 详情
+ */
+ public AdminActivityInfoCollectionResp getDetail(Integer id) {
+ MpActivityInfoCollectionEntity entity = mpActivityInfoCollectionService.getById(id);
+ return AdminActivityInfoCollectionConvert.INSTANCE.convertToResp(entity);
+ }
+
+ /**
+ * 删除活动信息收集记录
+ * @param ids 删除的ID列表
+ * @return 删除结果
+ */
+ public boolean delete(List ids) {
+ return mpActivityInfoCollectionService.removeByIds(ids);
+ }
+}
diff --git a/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/service/AdminParentAgentActivityService.java b/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/service/AdminParentAgentActivityService.java
index 175e5c5..02b2341 100644
--- a/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/service/AdminParentAgentActivityService.java
+++ b/seer-mp/seer-mp-service-admin/src/main/java/com/seer/teach/mp/admin/service/AdminParentAgentActivityService.java
@@ -4,11 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.seer.teach.common.PageListBean;
-import com.seer.teach.common.ResultBean;
import com.seer.teach.common.utils.PageConverterUtils;
import com.seer.teach.mp.admin.controller.req.ParentAgentActivityQueryReq;
import com.seer.teach.mp.admin.controller.resp.AdminParentAgentActivityResp;
-import com.seer.teach.mp.admin.controller.resp.MpParentAgentActivityResp;
import com.seer.teach.mp.admin.convert.AdminParentAgentActivityConvert;
import com.seer.teach.mp.entity.MpParentAgentActivityRelationEntity;
import com.seer.teach.mp.service.IMpParentAgentActivityRelationService;
@@ -16,6 +14,7 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
+import java.util.List;
import java.util.Objects;
@RequiredArgsConstructor
@@ -47,4 +46,8 @@ public class AdminParentAgentActivityService {
MpParentAgentActivityRelationEntity entity = parentAgentActivityRelationService.getById(id);
return AdminParentAgentActivityConvert.INSTANCE.convertToResp(entity);
}
+
+ public boolean delete(List ids) {
+ return parentAgentActivityRelationService.removeByIds(ids);
+ }
}
diff --git a/seer-mp/seer-mp-service-app-bootstrap/src/main/resources/db/mysql/V1.0.2__add_agent_activity_tables.sql b/seer-mp/seer-mp-service-app-bootstrap/src/main/resources/db/mysql/V1.0.2__add_agent_activity_tables.sql
index 7eba33a..60928f4 100644
--- a/seer-mp/seer-mp-service-app-bootstrap/src/main/resources/db/mysql/V1.0.2__add_agent_activity_tables.sql
+++ b/seer-mp/seer-mp-service-app-bootstrap/src/main/resources/db/mysql/V1.0.2__add_agent_activity_tables.sql
@@ -126,6 +126,7 @@ DROP TABLE IF EXISTS `mp_activity_info_collection`;
CREATE TABLE `mp_activity_info_collection` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '信息收集ID',
`relation_id` int NOT NULL COMMENT '关联的家长参与代理商活动关系ID',
+ `agent_id` int NOT NULL COMMENT '代理商ID',
`activity_id` int NOT NULL COMMENT '活动ID',
`parent_id` int NOT NULL COMMENT '家长ID',
`child_name` varchar(100) COMMENT '孩子姓名',