feat:管理端活动信息收集管理和家长参与代理商活动管理
This commit is contained in:
parent
495ce97ce7
commit
e44abef9dc
@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@ -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<Integer> strongSubjectIds;
|
||||
@TableField("weak_subject")
|
||||
private String weakSubject;
|
||||
|
||||
/**
|
||||
* 劣势学科(数学、英语等)
|
||||
*/
|
||||
@TableField(value = "weak_subject_ids",typeHandler = IntegerListTypeHandler.class)
|
||||
private List<Integer> weakSubjectIds;
|
||||
}
|
||||
@ -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 {
|
||||
|
||||
|
||||
@ -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<PageListBean<AdminActivityInfoCollectionResp>> pageList(
|
||||
@RequestBody @Validated ActivityInfoCollectionQueryReq req) {
|
||||
PageListBean<AdminActivityInfoCollectionResp> result = adminActivityInfoCollectionService.pageList(req);
|
||||
return ResultBean.success(result);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/{id}")
|
||||
@SaCheckPermission("admin:activity:info:collection:detail")
|
||||
@Operation(summary = "获取活动信息收集记录详情")
|
||||
public ResultBean<AdminActivityInfoCollectionResp> detail(@PathVariable Integer id) {
|
||||
return ResultBean.success(adminActivityInfoCollectionService.getDetail(id));
|
||||
}
|
||||
|
||||
@PostMapping("delete")
|
||||
@SaCheckPermission("admin:activity:info:collection:delete")
|
||||
@Operation(summary = "删除活动信息收集记录")
|
||||
public ResultBean<Boolean> delete(@RequestBody List<Integer> ids) {
|
||||
return ResultBean.success(adminActivityInfoCollectionService.delete(ids));
|
||||
}
|
||||
}
|
||||
@ -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<AdminParentAgentActivityResp> detail(@PathVariable Integer id) {
|
||||
return ResultBean.success(adminParentAgentActivityService.getDetail(id));
|
||||
}
|
||||
|
||||
@PostMapping("delete")
|
||||
@SaCheckPermission("admin:parent:agent:activity:delete")
|
||||
@Operation(summary = "删除家长参与代理商活动记录")
|
||||
@LogPrint
|
||||
public ResultBean<Boolean> delete(@RequestBody List<Integer> ids) {
|
||||
return ResultBean.success(adminParentAgentActivityService.delete(ids));
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
@ -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;
|
||||
|
||||
}
|
||||
@ -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<AdminActivityInfoCollectionResp> convertToRespList(List<MpActivityInfoCollectionEntity> entity);
|
||||
}
|
||||
@ -7,6 +7,7 @@ import org.mapstruct.factory.Mappers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@org.mapstruct.Mapper
|
||||
@Mapper
|
||||
public interface AdminParentAgentActivityConvert {
|
||||
|
||||
|
||||
@ -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<AdminActivityInfoCollectionResp> pageList(ActivityInfoCollectionQueryReq req) {
|
||||
Page<MpActivityInfoCollectionEntity> page = new Page<>(req.getPageNo(), req.getPageSize());
|
||||
LambdaQueryWrapper<MpActivityInfoCollectionEntity> 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<MpActivityInfoCollectionEntity> 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<Integer> ids) {
|
||||
return mpActivityInfoCollectionService.removeByIds(ids);
|
||||
}
|
||||
}
|
||||
@ -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<Integer> ids) {
|
||||
return parentAgentActivityRelationService.removeByIds(ids);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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 '孩子姓名',
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user