From f63685047444919d8778e3de9a09ffbed5d219e4 Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期五, 11 七月 2025 09:07:23 +0800 Subject: [PATCH] 管理端活动富文本编辑相关问题,审核活动 --- framework/src/main/java/cn/lili/modules/lmk/domain/query/ActivityQuery.java | 13 + buyer-api/src/main/java/cn/lili/controller/lmk/MyActivityController.java | 16 + framework/src/main/java/cn/lili/modules/lmk/domain/vo/ActivityVO.java | 13 + framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java | 84 ++++++- framework/src/main/java/cn/lili/modules/lmk/domain/entity/ActivityAuditRecord.java | 34 +++ framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityAuditRecordServiceImpl.java | 97 ++++++++ framework/src/main/java/cn/lili/modules/lmk/domain/vo/ActivityAuditRecordVO.java | 45 ++++ buyer-api/src/main/java/cn/lili/controller/lmk/ActivityReportController.java | 3 framework/src/main/java/cn/lili/modules/lmk/mapper/ActivityMapper.java | 2 framework/src/main/java/cn/lili/modules/lmk/domain/form/ActivityAuditRecordForm.java | 66 ++++++ framework/src/main/java/cn/lili/modules/lmk/service/ActivityService.java | 14 + framework/src/main/resources/mapper/lmk/VideoMapper.xml | 16 framework/src/main/java/cn/lili/modules/lmk/service/ActivityAuditRecordService.java | 37 +++ framework/src/main/java/cn/lili/modules/lmk/mapper/ActivityAuditRecordMapper.java | 21 + framework/src/main/resources/mapper/lmk/ActivityAuditRecordMapper.xml | 49 ++++ framework/src/main/java/cn/lili/modules/lmk/domain/query/ActivityAuditRecordQuery.java | 22 ++ framework/src/main/java/cn/lili/modules/lmk/domain/entity/Activity.java | 3 framework/src/main/java/cn/lili/modules/lmk/domain/form/ActivityForm.java | 2 manager-api/src/main/java/cn/lili/controller/lmk/ActivityController.java | 13 + framework/src/main/resources/mapper/lmk/ActivityMapper.xml | 87 ++++++- 20 files changed, 592 insertions(+), 45 deletions(-) diff --git a/buyer-api/src/main/java/cn/lili/controller/lmk/ActivityReportController.java b/buyer-api/src/main/java/cn/lili/controller/lmk/ActivityReportController.java index 78d6903..7db8886 100644 --- a/buyer-api/src/main/java/cn/lili/controller/lmk/ActivityReportController.java +++ b/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); } + + } diff --git a/buyer-api/src/main/java/cn/lili/controller/lmk/MyActivityController.java b/buyer-api/src/main/java/cn/lili/controller/lmk/MyActivityController.java index 0fde279..65ce1f4 100644 --- a/buyer-api/src/main/java/cn/lili/controller/lmk/MyActivityController.java +++ b/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); + } + } diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/entity/Activity.java b/framework/src/main/java/cn/lili/modules/lmk/domain/entity/Activity.java index 270b95d..4162815 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/domain/entity/Activity.java +++ b/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; + } diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/entity/ActivityAuditRecord.java b/framework/src/main/java/cn/lili/modules/lmk/domain/entity/ActivityAuditRecord.java new file mode 100644 index 0000000..b848126 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/lmk/domain/entity/ActivityAuditRecord.java @@ -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; + +} diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/form/ActivityAuditRecordForm.java b/framework/src/main/java/cn/lili/modules/lmk/domain/form/ActivityAuditRecordForm.java new file mode 100644 index 0000000..cbcb35a --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/lmk/domain/form/ActivityAuditRecordForm.java @@ -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; + } + +} diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/form/ActivityForm.java b/framework/src/main/java/cn/lili/modules/lmk/domain/form/ActivityForm.java index c129ee2..afca6b5 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/domain/form/ActivityForm.java +++ b/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 { /** 娲诲姩鍚嶇О */ diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/query/ActivityAuditRecordQuery.java b/framework/src/main/java/cn/lili/modules/lmk/domain/query/ActivityAuditRecordQuery.java new file mode 100644 index 0000000..e11ee81 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/lmk/domain/query/ActivityAuditRecordQuery.java @@ -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; +} diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/query/ActivityQuery.java b/framework/src/main/java/cn/lili/modules/lmk/domain/query/ActivityQuery.java index 22396a1..8509f1d 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/domain/query/ActivityQuery.java +++ b/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; + + } diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/ActivityAuditRecordVO.java b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/ActivityAuditRecordVO.java new file mode 100644 index 0000000..ee260c2 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/ActivityAuditRecordVO.java @@ -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; + } +} diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/ActivityVO.java b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/ActivityVO.java index 2dd298f..f403b6c 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/ActivityVO.java +++ b/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; + + /** + * 娲诲姩鐢宠浜篿d + */ + private String memberId; /** * 鏄惁鏀惰棌 diff --git a/framework/src/main/java/cn/lili/modules/lmk/mapper/ActivityAuditRecordMapper.java b/framework/src/main/java/cn/lili/modules/lmk/mapper/ActivityAuditRecordMapper.java new file mode 100644 index 0000000..2c945df --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/lmk/mapper/ActivityAuditRecordMapper.java @@ -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); +} diff --git a/framework/src/main/java/cn/lili/modules/lmk/mapper/ActivityMapper.java b/framework/src/main/java/cn/lili/modules/lmk/mapper/ActivityMapper.java index 4f9b37f..271f56b 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/mapper/ActivityMapper.java +++ b/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); diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/ActivityAuditRecordService.java b/framework/src/main/java/cn/lili/modules/lmk/service/ActivityAuditRecordService.java new file mode 100644 index 0000000..348eab1 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/lmk/service/ActivityAuditRecordService.java @@ -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); + +} diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/ActivityService.java b/framework/src/main/java/cn/lili/modules/lmk/service/ActivityService.java index 5daea02..45c9204 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/service/ActivityService.java +++ b/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 diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityAuditRecordServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityAuditRecordServiceImpl.java new file mode 100644 index 0000000..e87729c --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityAuditRecordServiceImpl.java @@ -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){ + //鍒ゆ柇娲诲姩鏄惁閫氳繃瀹℃牳锛� 鏈鏍镐换鐒惰繑鍥瀎alse 鑾峰緱鏈�杩戜竴娆″鏍歌褰� + 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; + } + + + +} diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java index d911a32..09313f2 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java +++ b/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); - + //璁剧疆鐢宠浜篿d + 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); + + //浼犲叆褰撳墠璇锋眰鐢ㄦ埛鐨刬d + 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 diff --git a/framework/src/main/resources/mapper/lmk/ActivityAuditRecordMapper.xml b/framework/src/main/resources/mapper/lmk/ActivityAuditRecordMapper.xml new file mode 100644 index 0000000..a98fd1f --- /dev/null +++ b/framework/src/main/resources/mapper/lmk/ActivityAuditRecordMapper.xml @@ -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> diff --git a/framework/src/main/resources/mapper/lmk/ActivityMapper.xml b/framework/src/main/resources/mapper/lmk/ActivityMapper.xml index 4d7b1aa..75c5379 100644 --- a/framework/src/main/resources/mapper/lmk/ActivityMapper.xml +++ b/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> diff --git a/framework/src/main/resources/mapper/lmk/VideoMapper.xml b/framework/src/main/resources/mapper/lmk/VideoMapper.xml index eb193ad..325a5d0 100644 --- a/framework/src/main/resources/mapper/lmk/VideoMapper.xml +++ b/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 diff --git a/manager-api/src/main/java/cn/lili/controller/lmk/ActivityController.java b/manager-api/src/main/java/cn/lili/controller/lmk/ActivityController.java index 307070f..df6a805 100644 --- a/manager-api/src/main/java/cn/lili/controller/lmk/ActivityController.java +++ b/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}") -- Gitblit v1.8.0