zxl
2025-07-11 f63685047444919d8778e3de9a09ffbed5d219e4
管理端活动富文本编辑相关问题,审核活动
12个文件已修改
8个文件已添加
637 ■■■■■ 已修改文件
buyer-api/src/main/java/cn/lili/controller/lmk/ActivityReportController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
buyer-api/src/main/java/cn/lili/controller/lmk/MyActivityController.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/domain/entity/Activity.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/domain/entity/ActivityAuditRecord.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/domain/form/ActivityAuditRecordForm.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/domain/form/ActivityForm.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/domain/query/ActivityAuditRecordQuery.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/domain/query/ActivityQuery.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/domain/vo/ActivityAuditRecordVO.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/domain/vo/ActivityVO.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/mapper/ActivityAuditRecordMapper.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/mapper/ActivityMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/service/ActivityAuditRecordService.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/service/ActivityService.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityAuditRecordServiceImpl.java 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java 84 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/resources/mapper/lmk/ActivityAuditRecordMapper.xml 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/resources/mapper/lmk/ActivityMapper.xml 87 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/resources/mapper/lmk/VideoMapper.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manager-api/src/main/java/cn/lili/controller/lmk/ActivityController.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
buyer-api/src/main/java/cn/lili/controller/lmk/ActivityReportController.java
@@ -2,6 +2,7 @@
import cn.lili.base.Result;
import cn.lili.common.security.context.UserContext;
import cn.lili.modules.lmk.domain.form.ActivityForm;
import cn.lili.modules.lmk.domain.form.ActivityReportForm;
import cn.lili.modules.lmk.domain.query.ActivityQuery;
import cn.lili.modules.lmk.service.ActivityService;
@@ -41,4 +42,6 @@
    public Result getActivityDetail(@PathVariable String activityId){
        return myActivityService.detailByUsr(activityId);
    }
}
buyer-api/src/main/java/cn/lili/controller/lmk/MyActivityController.java
@@ -2,6 +2,8 @@
import cn.lili.base.Result;
import cn.lili.common.security.context.UserContext;
import cn.lili.modules.lmk.domain.form.ActivityForm;
import cn.lili.modules.lmk.domain.query.ActivityQuery;
import cn.lili.modules.lmk.domain.query.ActivityReportQuery;
import cn.lili.modules.lmk.domain.query.MyActivityQuery;
import cn.lili.modules.lmk.service.ActivityService;
@@ -19,6 +21,8 @@
@RequestMapping("/buyer/lmk/my-activity")
public class MyActivityController {
    private final MyActivityService myActivityService;
    private final ActivityService activityService;
    @GetMapping("/getMyActivityList")
    @ApiOperation(value = "获得我的活动列表", notes = "获得我的活动列表")
    public Result getMyActivityList(MyActivityQuery query){
@@ -32,4 +36,16 @@
    public Result activityCancel(@PathVariable String activityId){
        return myActivityService.activityCancel(activityId);
    }
    @PostMapping("/add")
    @ApiOperation(value = "商户端新增活动", notes = "商户端新增活动")
    public Result addActivityByBuyer(@RequestBody ActivityForm form){
        return activityService.add(form,false);
    }
    @GetMapping("/applyActivityPage")
    @ApiOperation(value = "用户申请活动分页", notes = "用户申请活动分页")
    public Result getMyApplyActivityPage(ActivityQuery query){
        return activityService.getMyApplyActivityPage(query);
    }
}
framework/src/main/java/cn/lili/modules/lmk/domain/entity/Activity.java
@@ -72,4 +72,7 @@
    @TableField("publish")
    private Boolean publish;
    @TableField("member_id")
    private String memberId;
}
framework/src/main/java/cn/lili/modules/lmk/domain/entity/ActivityAuditRecord.java
New file
@@ -0,0 +1,34 @@
package cn.lili.modules.lmk.domain.entity;
import cn.lili.mybatis.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
 * lmk-shop-java
 * 活动审核记录
 *
 * @author : zxl
 * @date : 2025-06-30 16:53
 **/
@Data
@TableName("lmk_activity_audit_record")
public class ActivityAuditRecord extends BaseEntity {
    private static final long serialVersionUID = 1L;
    @TableField("activity_id")
    private String activityId;
    @TableField("remarks")
    private String remarks;
    /**
     * 0未审核 1已通过 2未通过
     */
    @TableField("audit")
    private Integer audit;
}
framework/src/main/java/cn/lili/modules/lmk/domain/form/ActivityAuditRecordForm.java
New file
@@ -0,0 +1,66 @@
package cn.lili.modules.lmk.domain.form;
import cn.lili.base.AbsForm;
import cn.lili.group.Add;
import cn.lili.group.Update;
import cn.lili.modules.lmk.domain.entity.ActivityAuditRecord;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.beans.BeanUtils;
import org.springframework.lang.NonNull;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
 * lmk-shop-java
 * 活动审核记录表单
 *
 * @author : zxl
 * @date : 2025-06-30 18:04
 **/
@Data
@ApiModel(value = "活动审核记录表单", description = "活动审核记录表单")
public class ActivityAuditRecordForm extends AbsForm {
    /** 备注 */
    @ApiModelProperty(value = "备注", example = "")
    private String remarks;
    /** 活动id */
    @NotBlank(message = "活动id不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty(value = "活动id", example = "")
    private String activityId;
    @NotNull(message = "通过审核不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty(value = "是否通过审核", example = " 0未审核 1通过 2未通过")
    private Integer audit;
    private static String mangerBuild = "平台端操作";
    public static ActivityAuditRecord getEntityByForm(@NonNull ActivityAuditRecordForm form,ActivityAuditRecord entity) {
        if(entity == null) {
            entity = new ActivityAuditRecord();
        }
        BeanUtils.copyProperties(form, entity);
        return entity;
    }
    public static ActivityAuditRecordForm getEntityByManagerBuildForm(@NotNull String activityId) {
        ActivityAuditRecordForm form = new ActivityAuditRecordForm();
        form.setActivityId(activityId);
        form.setAudit(1);
        form.setRemarks(mangerBuild);
        return form;
    }
    public static ActivityAuditRecordForm getEntityByBuyerBuildForm(@NotNull String activityId) {
        ActivityAuditRecordForm form = new ActivityAuditRecordForm();
        form.setActivityId(activityId);
        form.setAudit(0);
        return form;
    }
}
framework/src/main/java/cn/lili/modules/lmk/domain/form/ActivityForm.java
@@ -20,7 +20,7 @@
import java.util.Date;
@Data
@ApiModel(value = "Activity查询参数", description = "活动查表单")
@ApiModel(value = "活动表单", description = "活动表单")
public class ActivityForm extends AbsForm {
    /** 活动名称 */
framework/src/main/java/cn/lili/modules/lmk/domain/query/ActivityAuditRecordQuery.java
New file
@@ -0,0 +1,22 @@
package cn.lili.modules.lmk.domain.query;
import cn.lili.base.AbsQuery;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
 * lmk-shop-java
 *
 * @author : zxl
 * @date : 2025-07-02 15:51
 **/
@Data
@ApiModel(value = "活动审核记录查询参数", description = "活动审核记录查询参数")
public class ActivityAuditRecordQuery extends AbsQuery {
    /**
     * 活动id
     */
    private String activityId;
}
framework/src/main/java/cn/lili/modules/lmk/domain/query/ActivityQuery.java
@@ -24,6 +24,12 @@
     * 是否推荐
     */
    private Boolean recommend;
    /**
     * 是否审核
     */
    private Boolean audit;
    /**
     * 报名开始时时间
     */
@@ -36,4 +42,11 @@
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date reportEndTime;
    /**
     * 申请活动用户id
     */
    private String memberId;
}
framework/src/main/java/cn/lili/modules/lmk/domain/vo/ActivityAuditRecordVO.java
New file
@@ -0,0 +1,45 @@
package cn.lili.modules.lmk.domain.vo;
import cn.lili.base.AbsVo;
import cn.lili.modules.lmk.domain.entity.ActivityAuditRecord;
import cn.lili.modules.lmk.domain.entity.ActivityReport;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import org.springframework.beans.BeanUtils;
import org.springframework.lang.NonNull;
/**
 * lmk-shop-java
 * 活动审核记录VO
 *
 * @author : zxl
 * @date : 2025-07-02 10:17
 **/
@Data
@ApiModel(value = "ActivityAuditRecord响应数据", description = "响应数据")
public class ActivityAuditRecordVO extends AbsVo {
    /**
     * 活动id
     */
    private String activityId;
    /**
     * 备注
     */
    private String remarks;
    /**
     * 是否通过审核
     */
    private Integer audit;
    public static ActivityAuditRecordVO getVoByEntity(@NonNull ActivityAuditRecord entity, ActivityAuditRecordVO vo) {
        if(vo == null) {
            vo = new ActivityAuditRecordVO();
        }
        BeanUtils.copyProperties(entity, vo);
        return vo;
    }
}
framework/src/main/java/cn/lili/modules/lmk/domain/vo/ActivityVO.java
@@ -94,6 +94,19 @@
     */
    private Boolean publish;
    /**
     * 活动审核记录集合
     */
    private List<ActivityAuditRecordVO> auditRecordVOS;
    /**
     * 审核状态  0 未审核, 1 已审核
     */
    private Integer auditStatus;
    /**
     * 活动申请人id
     */
    private String memberId;
    /**
     * 是否收藏
framework/src/main/java/cn/lili/modules/lmk/mapper/ActivityAuditRecordMapper.java
New file
@@ -0,0 +1,21 @@
package cn.lili.modules.lmk.mapper;
import cn.lili.modules.lmk.domain.entity.ActivityAuditRecord;
import cn.lili.modules.lmk.domain.query.ActivityAuditRecordQuery;
import cn.lili.modules.lmk.domain.query.ActivityQuery;
import cn.lili.modules.lmk.domain.vo.ActivityAuditRecordVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper;
/**
 * lmk-shop-java
 * 活动审核mapper接口
 *
 * @author : zxl
 * @date : 2025-06-30 17:27
 **/
@Mapper
public interface ActivityAuditRecordMapper extends BaseMapper<ActivityAuditRecord> {
    IPage getPage(IPage<ActivityAuditRecordVO> page, ActivityAuditRecordQuery query);
}
framework/src/main/java/cn/lili/modules/lmk/mapper/ActivityMapper.java
@@ -36,6 +36,8 @@
    IPage getPage(IPage page, @Param("query") ActivityQuery query);
    IPage getMembers(IPage page, @Param("query") ActivityMembersQuery query);
    List<MyActivityVo> getMyActivityList(@Param("query")MyActivityQuery query,@Param("userId") String userId);
framework/src/main/java/cn/lili/modules/lmk/service/ActivityAuditRecordService.java
New file
@@ -0,0 +1,37 @@
package cn.lili.modules.lmk.service;
import cn.lili.base.Result;
import cn.lili.modules.lmk.domain.entity.ActivityAuditRecord;
import cn.lili.modules.lmk.domain.form.ActivityAuditRecordForm;
import cn.lili.modules.lmk.domain.query.ActivityAuditRecordQuery;
import cn.lili.modules.lmk.domain.query.ActivityQuery;
import com.baomidou.mybatisplus.extension.service.IService;
public interface ActivityAuditRecordService extends IService<ActivityAuditRecord> {
    /**
     * 新增或修改活动审核记录
     */
    Result addOrUpdateAuditActivity(ActivityAuditRecordForm form);
    /**
     * 通过活动id查询活动审核记录
     * @param query
     * @return
     */
    Result getActivityAuditByIdPage(ActivityAuditRecordQuery query);
    /**
     * 删除活动关联审核记录
     * @param activityId
     * @return
     */
    Result delActivityAuditById(String activityId);
    /**
     * 通过活动id判断当前活动是否通过审核
     * @param activityId
     * @return
     */
    Boolean getActivityActivityIsAudit(String activityId);
}
framework/src/main/java/cn/lili/modules/lmk/service/ActivityService.java
@@ -4,6 +4,7 @@
import cn.lili.modules.lmk.domain.entity.Activity;
import cn.lili.modules.lmk.domain.form.ActivityForm;
import cn.lili.modules.lmk.domain.form.ActivityReportForm;
import cn.lili.modules.lmk.domain.query.ActivityAuditRecordQuery;
import cn.lili.modules.lmk.domain.query.ActivityMembersQuery;
import cn.lili.modules.lmk.domain.query.ActivityQuery;
import cn.lili.modules.lmk.domain.query.MyActivityQuery;
@@ -14,19 +15,21 @@
public interface ActivityService extends IService<Activity> {
    /**
     * 添加
     * @param form
     * @return
     */
    Result add(ActivityForm form);
    Result add(ActivityForm form,Boolean isManager);
    /**
     * 修改
     * @param form
     * @return
     */
    Result update(ActivityForm form);
    Result update(ActivityForm form,Boolean isManager);
    /**
     * 批量删除
@@ -50,6 +53,13 @@
    Result page(ActivityQuery query);
    /**
     * 更具用户id获得申请的活动分页
     * @param query
     * @return
     */
    Result getMyApplyActivityPage(ActivityQuery query);
    /**
     * 根据id查找
     * @param id
     * @return
framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityAuditRecordServiceImpl.java
New file
@@ -0,0 +1,97 @@
package cn.lili.modules.lmk.service.impl;
import cn.lili.base.Result;
import cn.lili.common.security.context.UserContext;
import cn.lili.modules.lmk.domain.entity.ActivityAuditRecord;
import cn.lili.modules.lmk.domain.form.ActivityAuditRecordForm;
import cn.lili.modules.lmk.domain.query.ActivityAuditRecordQuery;
import cn.lili.modules.lmk.domain.vo.ActivityAuditRecordVO;
import cn.lili.modules.lmk.domain.vo.ActivityVO;
import cn.lili.modules.lmk.mapper.ActivityAuditRecordMapper;
import cn.lili.modules.lmk.service.ActivityAuditRecordService;
import cn.lili.utils.PageUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
/**
 * lmk-shop-java
 * 活动审核实现类
 *
 * @author : zxl
 * @date : 2025-06-30 17:27
 **/
@Service
@RequiredArgsConstructor
public class ActivityAuditRecordServiceImpl extends ServiceImpl<ActivityAuditRecordMapper, ActivityAuditRecord> implements ActivityAuditRecordService {
    private final ActivityAuditRecordMapper activityAuditRecordMapper;
    @Override
    public Result addOrUpdateAuditActivity(ActivityAuditRecordForm form) {
        if(form.getId() != null){
            //修改审核记录
            ActivityAuditRecord entity = baseMapper.selectById(form.getId());
            if (entity != null){
                BeanUtils.copyProperties(form, entity);
                baseMapper.updateById(entity);
            }else {
                throw new RuntimeException("未找到该审核记录");
            }
        }else {
            //新增审核记录
            ActivityAuditRecord entity = ActivityAuditRecordForm.getEntityByForm(form,null);
            baseMapper.insert(entity);
        }
        return Result.ok("新增审核成功");
    }
    @Override
    public Result getActivityAuditByIdPage(ActivityAuditRecordQuery query){
        //根据活动id获得活动审核记录
        IPage<ActivityAuditRecordVO> page = PageUtil.getPage(query, ActivityAuditRecordVO.class);
        baseMapper.getPage(page,query);
        //分页获得活动对应的审核记录
        return Result.ok().data(page.getRecords()).total(page.getTotal());
    }
    @Override
    public Result delActivityAuditById(String activityId){
        //删除活动对应的审核记录
        LambdaQueryWrapper<ActivityAuditRecord> queryWrapper =
                new LambdaQueryWrapper<ActivityAuditRecord>().eq(ActivityAuditRecord::getActivityId,activityId);
        baseMapper.delete(queryWrapper);
        return Result.ok("删除成功");
    }
    @Override
    public Boolean getActivityActivityIsAudit(String activityId){
        //判断活动是否通过审核, 未审核任然返回false 获得最近一次审核记录
        ActivityAuditRecord activityAuditRecord = new LambdaQueryChainWrapper<>(baseMapper)
                .eq(ActivityAuditRecord::getActivityId,activityId)
                .orderByDesc(ActivityAuditRecord::getCreateTime)// 按 create_time 降序
                .eq(ActivityAuditRecord::getDeleteFlag,0)
                .last("LIMIT 1")
                .one();
        if (activityAuditRecord == null){
            return Boolean.FALSE;
        }else {
            if (activityAuditRecord.getAudit() == 1){
                return Boolean.TRUE;
            }
        }
        return Boolean.FALSE;
    }
}
framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java
@@ -3,16 +3,19 @@
import cn.lili.base.Result;
import cn.lili.common.enums.ActivityCoverTypeEnum;
import cn.lili.common.enums.ActivityStatusEnum;
import cn.lili.common.security.context.UserContext;
import cn.lili.modules.lmk.domain.entity.Activity;
import cn.lili.modules.lmk.domain.form.ActivityAuditRecordForm;
import cn.lili.modules.lmk.domain.form.ActivityForm;
import cn.lili.modules.lmk.domain.query.ActivityAuditRecordQuery;
import cn.lili.modules.lmk.domain.query.ActivityMembersQuery;
import cn.lili.modules.lmk.domain.query.ActivityQuery;
import cn.lili.modules.lmk.domain.vo.ActivityAuditRecordVO;
import cn.lili.modules.lmk.domain.vo.ActivityVO;
import cn.lili.modules.lmk.mapper.ActivityMapper;
import cn.lili.modules.lmk.mapper.ActivityReportMapper;
import cn.lili.modules.lmk.service.ActivityAuditRecordService;
import cn.lili.modules.lmk.service.ActivityService;
import cn.lili.modules.lmk.service.LmkFileService;
import cn.lili.modules.lmk.service.MyActivityService;
import cn.lili.modules.member.entity.vo.MemberVO;
import cn.lili.utils.COSUtil;
import cn.lili.utils.PageUtil;
@@ -34,27 +37,31 @@
    private final LmkFileService lmkFileService;
    private final MyActivityService activityService;
    private final ActivityReportMapper activityReportMapper;
    private final COSUtil cOSUtil;
    private final ActivityAuditRecordService activityAuditRecordService;
    @Override
    public Result add(ActivityForm form) {
    public Result add(ActivityForm form,Boolean isManager) {
        Activity entity = ActivityForm.getEntityByForm(form, null);
        System.out.println(entity);
        //默认新增活动为
        entity.setStatus(ActivityStatusEnum.NOT_STARTED.getType());
        //默认不为推荐
        entity.setRecommend(false);
        //默认未发布
        entity.setPublish(false);
        //设置申请人id
        entity.setMemberId(UserContext.getCurrentUserId());
        baseMapper.insert(entity);
        mangerSaveOrUpdate(isManager,entity);
        return Result.ok("添加成功");
    }
    @Override
    public Result update(ActivityForm form) {
    public Result update(ActivityForm form,Boolean isManager) {
        Activity entity = baseMapper.selectById(form.getId());
        //判断修改前的封面类型是否为文本,文本不需要删除文件
@@ -70,10 +77,25 @@
        Assert.notNull(entity, "记录不存在");
        BeanUtils.copyProperties(form, entity);
        mangerSaveOrUpdate(isManager,entity);
        baseMapper.updateById(entity);
        //直接重新生成一条审核记录
        BeanUtils.copyProperties(form, entity);
        return Result.ok("修改成功");
    }
    public void mangerSaveOrUpdate(Boolean isManager,Activity entity){
        ActivityAuditRecordForm activityAuditRecordForm;
        //添加审核记录
        if (isManager){
            //直接通过
            activityAuditRecordForm = ActivityAuditRecordForm.getEntityByManagerBuildForm(entity.getId());
        }else {
            activityAuditRecordForm = ActivityAuditRecordForm.getEntityByBuyerBuildForm(entity.getId());
        }
        activityAuditRecordService.addOrUpdateAuditActivity(activityAuditRecordForm);
    }
    @Override
    public Result remove(List<String> ids) {
        baseMapper.deleteBatchIds(ids);
@@ -82,14 +104,20 @@
    @Override
    public Result removeById(String id) {
        //TODO 先判断活动是否有报名人员
        //有的话不可删除 联中间表查询
        //先判断活动是否有报名人员
        ActivityMembersQuery activityMembersQuery = new ActivityMembersQuery();
        activityMembersQuery.setId(id);
        if((long)activityMembersPage(activityMembersQuery).get("total") > 0){
            return Result.error("该活动无法下架,已存在报名人员");
        }
        //删除,同时判断该对象的封面是否存在 ,存在则在云服务器删除
        ActivityVO vo = baseMapper.getById(id);
        if (StringUtils.isNotEmpty(vo.getCover())){
            lmkFileService.deleteObject(vo.getCover());
        }
        baseMapper.deleteById(id);
        //删除审核记录
        activityAuditRecordService.delActivityAuditById(id);
        return Result.ok("删除成功");
    }
@@ -108,6 +136,23 @@
    }
    @Override
    public Result getMyApplyActivityPage(ActivityQuery query){
        System.out.println(query);
        //传入当前请求用户的id
        query.setMemberId(UserContext.getCurrentUserId());
        //更具用户id获得活动
        IPage<ActivityVO> page = PageUtil.getPage(query, ActivityVO.class);
        baseMapper.getPage(page, query);
        for (ActivityVO vo : page.getRecords()) {
            if (!ActivityCoverTypeEnum.TEXT.getType().equals(vo.getCoverType())){
                vo.setUrl(cOSUtil.getPreviewUrl(vo.getCover()));
            }
        }
        return Result.ok().data(page.getRecords()).total(page.getTotal());
    }
    @Override
    public Result detail(String id) {
        ActivityVO vo = baseMapper.getById(id);
        Assert.notNull(vo, "记录不存在");
@@ -115,6 +160,7 @@
    }
    @Override
    public Result getCanReportPage(ActivityQuery query){
        //查询到的结果已经审核且发布
        IPage<ActivityVO> page = PageUtil.getPage(query, ActivityVO.class);
        //已发布的活动
        baseMapper.getCanReportPage(page, query);
@@ -163,10 +209,22 @@
            if((long)activityMembersPage(activityMembersQuery).get("total") > 0){
                return Result.error("该活动无法下架,已存在报名人员");
            }
            return Result.ok();
        }else {
            //判断该活动是否审核通过
           if(activityAuditRecordService.getActivityActivityIsAudit(form.getId())){
               baseMapper.updateById(entity);
               return Result.ok();
           }else {
               return Result.error("活动未通过审核");
           }
        }
        baseMapper.updateById(entity);
        return Result.ok();
    }
    @Override
framework/src/main/resources/mapper/lmk/ActivityAuditRecordMapper.xml
New file
@@ -0,0 +1,49 @@
<?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="cn.lili.modules.lmk.mapper.ActivityAuditRecordMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="cn.lili.modules.lmk.domain.vo.ActivityAuditRecordVO">
        <result column="publish" property="publish" />
        <result column="audit" property="audit"/>
        <result column="remarks" property="remarks"/>
        <result column="create_time" property="createTime"/>
    </resultMap>
<!--    <select id="getById" resultMap="BaseResultMap">-->
<!--        SELECT-->
<!--            LA.id,-->
<!--            LA.activity_name,-->
<!--            LA.activity_type,-->
<!--            LA.report_start_time,-->
<!--            LA.report_end_time,-->
<!--            LA.start_time,-->
<!--            LA.end_time,-->
<!--            LA.status,-->
<!--            LA.recommend,-->
<!--            LA.cover,-->
<!--            LA.cover_type,-->
<!--            LA.limit_user_num,-->
<!--            LA.activity_location,-->
<!--            LA.activity_content,-->
<!--            LA.publish-->
<!--        FROM-->
<!--            lmk_activity LA-->
<!--        WHERE-->
<!--            LA.id = #{id} AND LA.delete_flag = 0-->
<!--    </select>-->
    <select id="getPage" resultMap="BaseResultMap">
        SELECT
            LAAR.audit,
            LAAR.remarks,
            LAAR.create_time
        FROM
            lmk_activity_audit_record LAAR
        WHERE
            LAAR.delete_flag = 0 AND LAAR.activity_id = #{query.activityId}
    </select>
</mapper>
framework/src/main/resources/mapper/lmk/ActivityMapper.xml
@@ -4,6 +4,7 @@
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="cn.lili.modules.lmk.domain.vo.ActivityVO">
        <id property="id" column="id"/>
        <result column="activity_name" property="activityName" />
        <result column="activity_type" property="activityType"/>
        <result column="report_start_time" property="reportStartTime" />
@@ -19,6 +20,14 @@
        <result column="activity_location" property="activityLocation" />
        <result column="activity_content" property="activityContent" />
        <result column="publish" property="publish" />
        <result column="auditStatus" property="auditStatus"/>
        <result column="member_id" property="memberId"/>
<!--                <collection property="auditRecordVOS"  ofType="cn.lili.modules.lmk.domain.vo.ActivityAuditRecordVO"-->
<!--                            select="selectAuditRecord"-->
<!--                            column="id"-->
<!--                />-->
    </resultMap>
    <resultMap id="MyActivityResultMap" type="cn.lili.modules.lmk.domain.vo.MyActivityVo">
@@ -33,6 +42,20 @@
        <result column="activity_report_id" property="activityReportId"/>
    </resultMap>
    <resultMap id="auditRecordResult" type="cn.lili.modules.lmk.domain.vo.ActivityAuditRecordVO">
        <result column="activity_id" property="activityId"/>
        <result column="remarks" property="remarks"/>
        <result column="audit" property="audit"/>
    </resultMap>
    <select id="selectAuditRecord" resultMap="auditRecordResult">
        select LAAR.id,
               LAAR.activity_id,
               LAAR.remarks,
               LAAR.audit
               from lmk_activity_audit_record LAAR
        WHERE LAAR.activity_id = #{id}
    </select>
    <select id="getMyActivityList" resultMap="MyActivityResultMap">
@@ -104,9 +127,33 @@
            LA.limit_user_num,
            LA.activity_location,
            LA.activity_content,
            LA.publish
            LA.publish,
            CASE WHEN EXISTS (
            SELECT 1 FROM lmk_activity_audit_record
            WHERE activity_id = LA.id AND delete_flag = 0 AND audit != 0
            ) THEN 1 ELSE 0 END AS auditStatus
        FROM
            lmk_activity LA
        LEFT JOIN
            (
            SELECT
            activity_id,
            audit,
            create_time
                FROM (
                SELECT
                activity_id,
                audit,
                create_time,
                ROW_NUMBER() OVER (PARTITION BY activity_id ORDER BY create_time DESC) AS rn
                FROM
                lmk_activity_audit_record
                WHERE
                delete_flag = 0
                ) t
                WHERE
                rn = 1
            ) LAAR ON LA.id = LAAR.activity_id
        WHERE
            LA.delete_flag = 0
            <if test="query.activityName != null and query.activityName != ''">AND LA.activity_name LIKE CONCAT('%', #{query.activityName}, '%')</if>
@@ -114,29 +161,33 @@
            <if test="query.recommend != null  and query.recommend != ''">AND LA.recommend = #{recommend}</if>
            <if test="query.reportStartTime != null">AND LA.report_start_time >= #{query.reportStartTime}</if>
            <if test="query.reportEndTime != null">AND LA.report_end_time &lt;= #{query.reportEndTime}</if>
            <if test="query.memberId != null and query.memberId !=''">AND LA.member_id &lt;= #{query.memberId}</if>
            <if test="query.audit == true" >AND LAAR.audit != 0</if>
            <if test="query.audit == false" >AND LAAR.audit = 0</if>
            <if test="query.memberId !=null and query.memberId !=''">And LA.member_id = #{query.memberId}</if>
    </select>
    <select id="getCanReportPage" resultMap="BaseResultMap">
        SELECT
        LA.id,
        LA.activity_name,
        LA.activity_type,
        LA.report_start_time,
        LA.report_end_time,
        LA.start_time,
        LA.end_time,
        LA.status,
        LA.recommend,
        LA.cover,
        LA.cover_type,
        LA.limit_user_num,
        LA.activity_location,
        LA.activity_content
            LA.id,
            LA.activity_name,
            LA.activity_type,
            LA.report_start_time,
            LA.report_end_time,
            LA.start_time,
            LA.end_time,
            LA.status,
            LA.recommend,
            LA.cover,
            LA.cover_type,
            LA.limit_user_num,
            LA.activity_location,
            LA.activity_content
        FROM
        lmk_activity LA
            lmk_activity LA inner join lmk_activity_audit_record LAAR ON LA.id = LAAR.activity_id and LAAR.delete_flag = 0 and LAAR.audit = 1
        WHERE
        LA.delete_flag = 0
        AND LA.publish = 1
            LA.delete_flag = 0
          AND LA.publish = 1
    </select>
framework/src/main/resources/mapper/lmk/VideoMapper.xml
@@ -673,8 +673,6 @@
        <result column="total_duration" property="totalDuration"/>
        <result column="video_count" property="videoCount"/>
        <result column="avg_completion_rate" property="avgCompletionRate"/>
    </resultMap>
    <resultMap id="videoTagMap" type="cn.lili.modules.lmk.domain.vo.SimpleVideoTagVO">
@@ -683,14 +681,14 @@
    </resultMap>
    <select id="getVideoTags" parameterType="String" resultMap="videoTagMap">
        SELECT LVT.id,
               LVT.tag_name
        from lmk_video_tag_ref LVTR
                 LEFT JOIN lmk_video_tag LVT ON LVT.id = LVTR.video_tag_id  and LVT.delete_flag = 0
        WHERE LVTR.video_id = #{id}
<!--    <select id="getVideoTags" parameterType="String" resultMap="videoTagMap">-->
<!--        SELECT LVT.id,-->
<!--               LVT.tag_name-->
<!--        from lmk_video_tag_ref LVTR-->
<!--                 LEFT JOIN lmk_video_tag LVT ON LVT.id = LVTR.video_tag_id  and LVT.delete_flag = 0-->
<!--        WHERE LVTR.video_id = #{id}-->
    </select>
<!--    </select>-->
    <select id="getVideoFootInfo" resultMap="videoFootInfo">
        SELECT
manager-api/src/main/java/cn/lili/controller/lmk/ActivityController.java
@@ -3,11 +3,13 @@
import cn.lili.base.Result;
import cn.lili.group.Add;
import cn.lili.group.Update;
import cn.lili.modules.lmk.domain.form.ActivityAuditRecordForm;
import cn.lili.modules.lmk.domain.form.ActivityForm;
import cn.lili.modules.lmk.domain.form.CustomerBlackForm;
import cn.lili.modules.lmk.domain.query.ActivityMembersQuery;
import cn.lili.modules.lmk.domain.query.ActivityQuery;
import cn.lili.modules.lmk.domain.query.CustomerBlackQuery;
import cn.lili.modules.lmk.service.ActivityAuditRecordService;
import cn.lili.modules.lmk.service.ActivityService;
import cn.lili.modules.lmk.service.CustomerBlackService;
import io.swagger.annotations.Api;
@@ -34,16 +36,23 @@
    private final ActivityService activityService;
    private final ActivityAuditRecordService activityAuditRecordService;
    @PostMapping("/audit")
    public Result auditActivity(@RequestBody @Validated(Add.class) ActivityAuditRecordForm form){
        return activityAuditRecordService.addOrUpdateAuditActivity(form);
    }
    @PostMapping
    @ApiOperation(value = "添加", notes = "添加")
    public Result add(@RequestBody @Validated(Add.class) ActivityForm form) {
        return activityService.add(form);
        return activityService.add(form,true);
    }
    @PutMapping
    @ApiOperation(value = "修改", notes = "修改")
    public Result update(@RequestBody @Validated(Update.class) ActivityForm form) {
        return activityService.update(form);
        return activityService.update(form,true);
    }
    @DeleteMapping("/{id}")