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 <= #{query.reportEndTime}</if> <if test="query.memberId != null and query.memberId !=''">AND LA.member_id <= #{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}")