增加代理商,活动,代理商员工关,代理商活动参与者相关功能
This commit is contained in:
parent
1c8a002d95
commit
f1262aed51
@ -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.AgentActivityLogQueryReq;
|
||||
import com.seer.teach.mp.admin.controller.resp.AdminAgentActivityLogResp;
|
||||
import com.seer.teach.mp.admin.service.IAdminAgentActivityLogService;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@LogPrint
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@Tag(name = "管理端 - 代理商活动操作日志")
|
||||
@RequestMapping("/mp/agent/activity/log")
|
||||
public class AdminAgentActivityLogController {
|
||||
|
||||
private final IAdminAgentActivityLogService adminAgentActivityLogService;
|
||||
|
||||
@Operation(summary = "代理商活动操作日志列表")
|
||||
@GetMapping("/page-list")
|
||||
@SaCheckPermission("mp:admin:agent:activity:log:list")
|
||||
public ResultBean<PageListBean<AdminAgentActivityLogResp>> pageList(AgentActivityLogQueryReq query) {
|
||||
return ResultBean.success(adminAgentActivityLogService.pageList(query));
|
||||
}
|
||||
|
||||
@Operation(summary = "详情")
|
||||
@GetMapping("/{id}")
|
||||
@SaCheckPermission("mp:admin:agent:activity:log:get")
|
||||
public ResultBean<AdminAgentActivityLogResp> getLog(@PathVariable Integer id) {
|
||||
return ResultBean.success(adminAgentActivityLogService.getById(id));
|
||||
}
|
||||
|
||||
@Operation(summary = "删除")
|
||||
@DeleteMapping
|
||||
@SaCheckPermission("mp:admin:agent:activity:log:delete")
|
||||
public ResultBean<Boolean> delete(@RequestBody List<Integer> ids) {
|
||||
boolean result = true;
|
||||
for (Integer id : ids) {
|
||||
result &= adminAgentActivityLogService.deleteLog(id);
|
||||
}
|
||||
return ResultBean.success(result);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,72 @@
|
||||
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.AgentActivityParticipantQueryReq;
|
||||
import com.seer.teach.mp.admin.controller.resp.AdminAgentActivityParticipantResp;
|
||||
import com.seer.teach.mp.admin.service.IAdminAgentActivityParticipantService;
|
||||
import com.seer.teach.mp.entity.MpAgentActivityParticipantEntity;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@LogPrint
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@Tag(name = "管理端 - 代理商活动参与记录")
|
||||
@RequestMapping("/mp/agent/activity/participant")
|
||||
public class AdminAgentActivityParticipantController {
|
||||
|
||||
private final IAdminAgentActivityParticipantService adminAgentActivityParticipantService;
|
||||
|
||||
@Operation(summary = "代理商活动参与记录列表")
|
||||
@GetMapping("/page-list")
|
||||
@SaCheckPermission("mp:admin:agent:activity:participant:list")
|
||||
public ResultBean<PageListBean<AdminAgentActivityParticipantResp>> pageList(AgentActivityParticipantQueryReq query) {
|
||||
return ResultBean.success(adminAgentActivityParticipantService.pageList(query));
|
||||
}
|
||||
|
||||
@Operation(summary = "详情")
|
||||
@GetMapping("/{id}")
|
||||
@SaCheckPermission("mp:admin:agent:activity:participant:get")
|
||||
public ResultBean<AdminAgentActivityParticipantResp> getParticipant(@PathVariable Integer id) {
|
||||
return ResultBean.success(adminAgentActivityParticipantService.getById(id));
|
||||
}
|
||||
|
||||
@Operation(summary = "新增")
|
||||
@PostMapping
|
||||
@SaCheckPermission("mp:admin:agent:activity:participant:save")
|
||||
public ResultBean<Boolean> save(@RequestBody MpAgentActivityParticipantEntity participantEntity) {
|
||||
return ResultBean.success(adminAgentActivityParticipantService.saveParticipant(participantEntity));
|
||||
}
|
||||
|
||||
@Operation(summary = "更新")
|
||||
@PutMapping
|
||||
@SaCheckPermission("mp:admin:agent:activity:participant:update")
|
||||
public ResultBean<Boolean> update(@RequestBody MpAgentActivityParticipantEntity participantEntity) {
|
||||
return ResultBean.success(adminAgentActivityParticipantService.updateParticipant(participantEntity));
|
||||
}
|
||||
|
||||
@Operation(summary = "删除")
|
||||
@DeleteMapping
|
||||
@SaCheckPermission("mp:admin:agent:activity:participant:delete")
|
||||
public ResultBean<Boolean> delete(@RequestBody List<Integer> ids) {
|
||||
boolean result = true;
|
||||
for (Integer id : ids) {
|
||||
result &= adminAgentActivityParticipantService.deleteParticipant(id);
|
||||
}
|
||||
return ResultBean.success(result);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,44 @@
|
||||
package com.seer.teach.mp.admin.controller.req;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 代理商活动操作日志查询请求对象
|
||||
*
|
||||
* @author
|
||||
* @since 2025-12-30
|
||||
*/
|
||||
@Data
|
||||
@Schema(name = "代理商活动操作日志查询请求对象")
|
||||
public class AgentActivityLogQueryReq {
|
||||
|
||||
@Min(value = 1, message = "页码必须大于0")
|
||||
@Schema(description = "页码")
|
||||
private Integer pageNum = 1;
|
||||
|
||||
@Min(value = 1, message = "每页数量必须大于0")
|
||||
@Schema(description = "每页数量")
|
||||
private Integer pageSize = 10;
|
||||
|
||||
@Schema(description = "活动ID")
|
||||
private Integer activityId;
|
||||
|
||||
@Schema(description = "操作人ID")
|
||||
private Integer operatorId;
|
||||
|
||||
@Schema(description = "操作类型")
|
||||
private String operationType;
|
||||
|
||||
@Schema(description = "开始时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
@Schema(description = "结束时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime endTime;
|
||||
}
|
||||
@ -0,0 +1,33 @@
|
||||
package com.seer.teach.mp.admin.controller.req;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 代理商活动参与记录查询请求对象
|
||||
*
|
||||
* @author
|
||||
* @since 2025-12-30
|
||||
*/
|
||||
@Data
|
||||
@Schema(name = "代理商活动参与记录查询请求对象")
|
||||
public class AgentActivityParticipantQueryReq {
|
||||
|
||||
@Min(value = 1, message = "页码必须大于0")
|
||||
@Schema(description = "页码")
|
||||
private Integer pageNum = 1;
|
||||
|
||||
@Min(value = 1, message = "每页数量必须大于0")
|
||||
@Schema(description = "每页数量")
|
||||
private Integer pageSize = 10;
|
||||
|
||||
@Schema(description = "活动ID")
|
||||
private Integer activityId;
|
||||
|
||||
@Schema(description = "代理商ID")
|
||||
private Integer agentId;
|
||||
|
||||
@Schema(description = "家长ID")
|
||||
private Integer parentId;
|
||||
}
|
||||
@ -0,0 +1,47 @@
|
||||
package com.seer.teach.mp.admin.controller.resp;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 代理商活动操作日志响应对象
|
||||
*
|
||||
* @author
|
||||
* @since 2025-12-30
|
||||
*/
|
||||
@Data
|
||||
@Schema(name = "代理商活动操作日志响应对象")
|
||||
public class AdminAgentActivityLogResp {
|
||||
|
||||
@Schema(description = "日志ID")
|
||||
private Integer id;
|
||||
|
||||
@Schema(description = "活动ID")
|
||||
private Integer activityId;
|
||||
|
||||
@Schema(description = "操作人ID")
|
||||
private Integer operatorId;
|
||||
|
||||
@Schema(description = "操作类型")
|
||||
private String operationType;
|
||||
|
||||
@Schema(description = "操作描述")
|
||||
private String description;
|
||||
|
||||
@Schema(description = "操作前数据")
|
||||
private String beforeData;
|
||||
|
||||
@Schema(description = "操作后数据")
|
||||
private String afterData;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@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,35 @@
|
||||
package com.seer.teach.mp.admin.controller.resp;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 代理商活动参与记录响应对象
|
||||
*
|
||||
* @author
|
||||
* @since 2025-12-30
|
||||
*/
|
||||
@Data
|
||||
@Schema(name = "代理商活动参与记录响应对象")
|
||||
public class AdminAgentActivityParticipantResp {
|
||||
|
||||
@Schema(description = "参与记录ID")
|
||||
private Integer id;
|
||||
|
||||
@Schema(description = "活动ID")
|
||||
private Integer activityId;
|
||||
|
||||
@Schema(description = "代理商ID")
|
||||
private Integer agentId;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Schema(description = "更新时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime updateTime;
|
||||
}
|
||||
@ -10,9 +10,9 @@ import org.mapstruct.factory.Mappers;
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface AdminAgentActivityConvert {
|
||||
public interface AdminActivityConvert {
|
||||
|
||||
AdminAgentActivityConvert INSTANCE = Mappers.getMapper(AdminAgentActivityConvert.class);
|
||||
AdminActivityConvert INSTANCE = Mappers.getMapper(AdminActivityConvert.class);
|
||||
|
||||
MpActivityEntity convert(MpActivityReq req);
|
||||
|
||||
@ -0,0 +1,18 @@
|
||||
package com.seer.teach.mp.admin.convert;
|
||||
|
||||
import com.seer.teach.mp.admin.controller.resp.AdminAgentActivityParticipantResp;
|
||||
import com.seer.teach.mp.entity.MpAgentActivityParticipantEntity;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface AdminAgentActivityParticipantConvert {
|
||||
|
||||
AdminAgentActivityParticipantConvert INSTANCE = Mappers.getMapper(AdminAgentActivityParticipantConvert.class);
|
||||
|
||||
AdminAgentActivityParticipantResp convertToResp(MpAgentActivityParticipantEntity entity);
|
||||
|
||||
List<AdminAgentActivityParticipantResp> convertToRespList(List<MpAgentActivityParticipantEntity> entity);
|
||||
}
|
||||
@ -0,0 +1,41 @@
|
||||
package com.seer.teach.mp.admin.service;
|
||||
|
||||
import com.seer.teach.common.PageListBean;
|
||||
import com.seer.teach.mp.admin.controller.req.AgentActivityLogQueryReq;
|
||||
import com.seer.teach.mp.admin.controller.resp.AdminAgentActivityLogResp;
|
||||
import com.seer.teach.mp.entity.MpAgentActivityLogEntity;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 代理商活动操作日志表 管理端服务类
|
||||
* </p>
|
||||
*
|
||||
* @author
|
||||
* @since 2025-12-30
|
||||
*/
|
||||
public interface IAdminAgentActivityLogService {
|
||||
|
||||
/**
|
||||
* 分页查询代理商活动操作日志列表(管理端)
|
||||
*
|
||||
* @param query 查询条件
|
||||
* @return 代理商活动操作日志分页列表
|
||||
*/
|
||||
PageListBean<AdminAgentActivityLogResp> pageList(AgentActivityLogQueryReq query);
|
||||
|
||||
/**
|
||||
* 根据ID获取代理商活动操作日志详情(管理端)
|
||||
*
|
||||
* @param id 日志ID
|
||||
* @return 操作日志详情
|
||||
*/
|
||||
AdminAgentActivityLogResp getById(Integer id);
|
||||
|
||||
/**
|
||||
* 根据ID删除代理商活动操作日志(管理端)
|
||||
*
|
||||
* @param id 日志ID
|
||||
* @return 操作是否成功
|
||||
*/
|
||||
boolean deleteLog(Integer id);
|
||||
}
|
||||
@ -0,0 +1,57 @@
|
||||
package com.seer.teach.mp.admin.service;
|
||||
|
||||
import com.seer.teach.common.PageListBean;
|
||||
import com.seer.teach.mp.admin.controller.req.AgentActivityParticipantQueryReq;
|
||||
import com.seer.teach.mp.admin.controller.resp.AdminAgentActivityParticipantResp;
|
||||
import com.seer.teach.mp.entity.MpAgentActivityParticipantEntity;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 代理商活动参与记录表 管理端服务类
|
||||
* </p>
|
||||
*
|
||||
* @author
|
||||
* @since 2025-12-30
|
||||
*/
|
||||
public interface IAdminAgentActivityParticipantService {
|
||||
|
||||
/**
|
||||
* 分页查询代理商活动参与记录列表(管理端)
|
||||
*
|
||||
* @param query 查询条件
|
||||
* @return 代理商活动参与记录分页列表
|
||||
*/
|
||||
PageListBean<AdminAgentActivityParticipantResp> pageList(AgentActivityParticipantQueryReq query);
|
||||
|
||||
/**
|
||||
* 创建代理商活动参与记录(管理端)
|
||||
*
|
||||
* @param entity 参与记录实体
|
||||
* @return 操作是否成功
|
||||
*/
|
||||
boolean saveParticipant(MpAgentActivityParticipantEntity entity);
|
||||
|
||||
/**
|
||||
* 更新代理商活动参与记录(管理端)
|
||||
*
|
||||
* @param entity 参与记录实体
|
||||
* @return 操作是否成功
|
||||
*/
|
||||
boolean updateParticipant(MpAgentActivityParticipantEntity entity);
|
||||
|
||||
/**
|
||||
* 根据ID删除代理商活动参与记录(管理端)
|
||||
*
|
||||
* @param id 参与记录ID
|
||||
* @return 操作是否成功
|
||||
*/
|
||||
boolean deleteParticipant(Integer id);
|
||||
|
||||
/**
|
||||
* 根据ID获取代理商活动参与记录详情(管理端)
|
||||
*
|
||||
* @param id 参与记录ID
|
||||
* @return 参与记录详情
|
||||
*/
|
||||
AdminAgentActivityParticipantResp getById(Integer id);
|
||||
}
|
||||
@ -8,7 +8,7 @@ import com.seer.teach.mp.admin.controller.req.MpActivityQueryReq;
|
||||
import com.seer.teach.mp.admin.controller.req.MpActivityReq;
|
||||
import com.seer.teach.mp.admin.controller.resp.AdminActivityResp;
|
||||
import com.seer.teach.mp.admin.service.IAdminActivityService;
|
||||
import com.seer.teach.mp.admin.convert.AdminAgentActivityConvert;
|
||||
import com.seer.teach.mp.admin.convert.AdminActivityConvert;
|
||||
import com.seer.teach.mp.entity.MpActivityEntity;
|
||||
import com.seer.teach.mp.service.IMpActivityService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@ -37,12 +37,12 @@ public class AdminActivityServiceImpl implements IAdminActivityService {
|
||||
var pageResult = agentActivityService.page(page, new LambdaQueryWrapper<>(MpActivityEntity.class)
|
||||
.like(StringUtils.isNotBlank(query.getActivityName()), MpActivityEntity::getActivityName, query.getActivityName())
|
||||
.eq(Objects.nonNull(query.getStatus()), MpActivityEntity::getStatus, query.getStatus()));
|
||||
return PageConverterUtils.convertPageListBean(pageResult, AdminAgentActivityConvert.INSTANCE::convertToRespList);
|
||||
return PageConverterUtils.convertPageListBean(pageResult, AdminActivityConvert.INSTANCE::convertToRespList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean saveOrUpdateActivity(MpActivityReq request) {
|
||||
MpActivityEntity entity = AdminAgentActivityConvert.INSTANCE.convert(request);
|
||||
MpActivityEntity entity = AdminActivityConvert.INSTANCE.convert(request);
|
||||
return agentActivityService.saveOrUpdateActivity(entity);
|
||||
}
|
||||
|
||||
@ -54,6 +54,6 @@ public class AdminActivityServiceImpl implements IAdminActivityService {
|
||||
@Override
|
||||
public AdminActivityResp getById(Integer id) {
|
||||
MpActivityEntity entity = agentActivityService.getById(id);
|
||||
return AdminAgentActivityConvert.INSTANCE.convertToResp(entity);
|
||||
return AdminActivityConvert.INSTANCE.convertToResp(entity);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,97 @@
|
||||
package com.seer.teach.mp.admin.service.impl;
|
||||
|
||||
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.mp.admin.controller.req.AgentActivityLogQueryReq;
|
||||
import com.seer.teach.mp.admin.controller.resp.AdminAgentActivityLogResp;
|
||||
import com.seer.teach.mp.admin.service.IAdminAgentActivityLogService;
|
||||
import com.seer.teach.mp.entity.MpAgentActivityLogEntity;
|
||||
import com.seer.teach.mp.service.IMpAgentActivityLogService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 代理商活动操作日志表 管理端服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author
|
||||
* @since 2025-12-30
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class AdminAgentActivityLogServiceImpl implements IAdminAgentActivityLogService {
|
||||
|
||||
private final IMpAgentActivityLogService mpAgentActivityLogService;
|
||||
|
||||
@Override
|
||||
public PageListBean<AdminAgentActivityLogResp> pageList(AgentActivityLogQueryReq query) {
|
||||
Page<MpAgentActivityLogEntity> page = new Page<>(query.getPageNum(), query.getPageSize());
|
||||
|
||||
LambdaQueryWrapper<MpAgentActivityLogEntity> wrapper = new LambdaQueryWrapper<>();
|
||||
|
||||
// 根据活动ID查询
|
||||
if (query.getActivityId() != null) {
|
||||
wrapper.eq(MpAgentActivityLogEntity::getActivityId, query.getActivityId());
|
||||
}
|
||||
|
||||
// 根据操作人ID查询
|
||||
if (query.getOperatorId() != null) {
|
||||
wrapper.eq(MpAgentActivityLogEntity::getOperatorId, query.getOperatorId());
|
||||
}
|
||||
|
||||
// 根据操作类型查询
|
||||
if (query.getOperationType() != null && !query.getOperationType().isEmpty()) {
|
||||
wrapper.eq(MpAgentActivityLogEntity::getOperationType, query.getOperationType());
|
||||
}
|
||||
|
||||
// 根据创建时间范围查询
|
||||
if (query.getStartTime() != null) {
|
||||
wrapper.ge(MpAgentActivityLogEntity::getCreateTime, query.getStartTime());
|
||||
}
|
||||
if (query.getEndTime() != null) {
|
||||
wrapper.le(MpAgentActivityLogEntity::getCreateTime, query.getEndTime());
|
||||
}
|
||||
|
||||
IPage<MpAgentActivityLogEntity> result = mpAgentActivityLogService.page(page, wrapper);
|
||||
|
||||
// 转换为响应对象
|
||||
List<AdminAgentActivityLogResp> records = result.getRecords().stream()
|
||||
.map(this::convertToResp)
|
||||
.toList();
|
||||
|
||||
return new PageListBean<>(result.getTotal(), records);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AdminAgentActivityLogResp getById(Integer id) {
|
||||
MpAgentActivityLogEntity entity = mpAgentActivityLogService.getById(id);
|
||||
return convertToResp(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteLog(Integer id) {
|
||||
return mpAgentActivityLogService.removeById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将实体转换为响应对象
|
||||
*/
|
||||
private AdminAgentActivityLogResp convertToResp(MpAgentActivityLogEntity entity) {
|
||||
AdminAgentActivityLogResp resp = new AdminAgentActivityLogResp();
|
||||
resp.setId(entity.getId());
|
||||
resp.setActivityId(entity.getActivityId());
|
||||
resp.setOperatorId(entity.getOperatorId());
|
||||
resp.setOperationType(entity.getOperationType());
|
||||
resp.setDescription(entity.getDescription());
|
||||
resp.setBeforeData(entity.getBeforeData());
|
||||
resp.setAfterData(entity.getAfterData());
|
||||
resp.setCreateTime(entity.getCreateTime());
|
||||
resp.setUpdateTime(entity.getUpdateTime());
|
||||
return resp;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,99 @@
|
||||
package com.seer.teach.mp.admin.service.impl;
|
||||
|
||||
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.utils.PageConverterUtils;
|
||||
import com.seer.teach.mp.admin.controller.req.AgentActivityParticipantQueryReq;
|
||||
import com.seer.teach.mp.admin.controller.resp.AdminAgentActivityParticipantResp;
|
||||
import com.seer.teach.mp.admin.convert.AdminAgentActivityParticipantConvert;
|
||||
import com.seer.teach.mp.admin.service.IAdminAgentActivityParticipantService;
|
||||
import com.seer.teach.mp.entity.MpAgentActivityParticipantEntity;
|
||||
import com.seer.teach.mp.mapper.MpAgentActivityParticipantMapper;
|
||||
import com.seer.teach.mp.service.IMpAgentActivityParticipantService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 代理商活动参与记录表 管理端服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author
|
||||
* @since 2025-12-30
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class AdminAgentActivityParticipantServiceImpl implements IAdminAgentActivityParticipantService {
|
||||
|
||||
private final IMpAgentActivityParticipantService mpAgentActivityParticipantService;
|
||||
|
||||
@Override
|
||||
public PageListBean<AdminAgentActivityParticipantResp> pageList(AgentActivityParticipantQueryReq query) {
|
||||
Page<MpAgentActivityParticipantEntity> page = new Page<>(query.getPageNum(), query.getPageSize());
|
||||
|
||||
LambdaQueryWrapper<MpAgentActivityParticipantEntity> wrapper = new LambdaQueryWrapper<>();
|
||||
|
||||
// 根据活动ID查询
|
||||
if (query.getActivityId() != null) {
|
||||
wrapper.eq(MpAgentActivityParticipantEntity::getActivityId, query.getActivityId());
|
||||
}
|
||||
|
||||
// 根据代理商ID查询
|
||||
if (query.getAgentId() != null) {
|
||||
wrapper.eq(MpAgentActivityParticipantEntity::getAgentId, query.getAgentId());
|
||||
}
|
||||
IPage<MpAgentActivityParticipantEntity> result = mpAgentActivityParticipantService.page(page, wrapper);
|
||||
|
||||
return PageConverterUtils.convertPageListBean(result, AdminAgentActivityParticipantConvert.INSTANCE::convertToRespList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean saveParticipant(MpAgentActivityParticipantEntity entity) {
|
||||
// 检查是否已存在相同的活动、代理商和家长记录
|
||||
LambdaQueryWrapper<MpAgentActivityParticipantEntity> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(MpAgentActivityParticipantEntity::getActivityId, entity.getActivityId())
|
||||
.eq(MpAgentActivityParticipantEntity::getAgentId, entity.getAgentId())
|
||||
.eq(MpAgentActivityParticipantEntity::getParentId, entity.getParentId());
|
||||
|
||||
long count = mpAgentActivityParticipantService.count(wrapper);
|
||||
if (count > 0) {
|
||||
throw new RuntimeException("该代理商活动参与记录已存在");
|
||||
}
|
||||
|
||||
return mpAgentActivityParticipantService.save(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateParticipant(MpAgentActivityParticipantEntity entity) {
|
||||
// 检查是否存在相同的活动、代理商和家长记录(排除当前记录)
|
||||
LambdaQueryWrapper<MpAgentActivityParticipantEntity> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(MpAgentActivityParticipantEntity::getActivityId, entity.getActivityId())
|
||||
.eq(MpAgentActivityParticipantEntity::getAgentId, entity.getAgentId())
|
||||
.eq(MpAgentActivityParticipantEntity::getParentId, entity.getParentId())
|
||||
.ne(MpAgentActivityParticipantEntity::getId, entity.getId());
|
||||
|
||||
long count = mpAgentActivityParticipantService.count(wrapper);
|
||||
if (count > 0) {
|
||||
throw new RuntimeException("该代理商活动参与记录已存在");
|
||||
}
|
||||
|
||||
return mpAgentActivityParticipantService.updateById(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteParticipant(Integer id) {
|
||||
return mpAgentActivityParticipantService.removeById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AdminAgentActivityParticipantResp getById(Integer id) {
|
||||
MpAgentActivityParticipantEntity entity = mpAgentActivityParticipantService.getById(id);
|
||||
return AdminAgentActivityParticipantConvert.INSTANCE.convertToResp(entity);
|
||||
}
|
||||
|
||||
}
|
||||
@ -59,7 +59,6 @@ CREATE TABLE `mp_agent_activity_participants` (
|
||||
`id` int NOT NULL AUTO_INCREMENT COMMENT '参与记录ID',
|
||||
`activity_id` int NOT NULL COMMENT '活动ID',
|
||||
`agent_id` int NOT NULL COMMENT '代理商ID',
|
||||
`parent_id` int NOT NULL COMMENT '家长ID(对应user表的ID)',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`create_by` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_german2_ci NULL DEFAULT NULL COMMENT '创建人',
|
||||
`update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user