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/service/impl/ActivityServiceImpl.java | 132 ++++++++++++++++++++++++++++++++++++-------- 1 files changed, 108 insertions(+), 24 deletions(-) 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 78ec501..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 @@ -1,21 +1,23 @@ package cn.lili.modules.lmk.service.impl; 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.entity.CustomerBlack; -import cn.lili.modules.lmk.domain.entity.CustomerTagRef; +import cn.lili.modules.lmk.domain.form.ActivityAuditRecordForm; import cn.lili.modules.lmk.domain.form.ActivityForm; -import cn.lili.modules.lmk.domain.form.CustomerTagRefForm; +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.domain.vo.CustomerBlackVO; import cn.lili.modules.lmk.mapper.ActivityMapper; -import cn.lili.modules.lmk.mapper.CustomerBlackMapper; +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.member.entity.vo.MemberVO; -import cn.lili.modules.member.service.MemberService; +import cn.lili.utils.COSUtil; import cn.lili.utils.PageUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -33,29 +35,37 @@ @RequiredArgsConstructor public class ActivityServiceImpl extends ServiceImpl<ActivityMapper, Activity> implements ActivityService { - private final ActivityMapper activityMapper; - private final LmkFileService lmkFileService; + + 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("鏈紑濮�"); + 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()); //鍒ゆ柇淇敼鍓嶇殑灏侀潰绫诲瀷鏄惁涓烘枃鏈紝鏂囨湰涓嶉渶瑕佸垹闄ゆ枃浠� - if (!"鏂囧瓧".equals(entity.getCoverType())){ + if (!ActivityCoverTypeEnum.TEXT.getType().equals(entity.getCoverType())){ //鍒ゆ柇璺緞鏄惁鏀瑰彉 if (!form.getCover().equals(entity.getCover())) { //鍒犻櫎浜戞湇鍔″櫒涓棫鐨勫浘鐗� @@ -67,14 +77,25 @@ Assert.notNull(entity, "璁板綍涓嶅瓨鍦�"); BeanUtils.copyProperties(form, entity); + mangerSaveOrUpdate(isManager,entity); baseMapper.updateById(entity); + + //鐩存帴閲嶆柊鐢熸垚涓�鏉″鏍歌褰� + BeanUtils.copyProperties(form, entity); + return Result.ok("淇敼鎴愬姛"); } - - public void updateByList(List<Activity> vo){ - + 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); @@ -83,12 +104,21 @@ @Override public Result removeById(String id) { + //鍏堝垽鏂椿鍔ㄦ槸鍚︽湁鎶ュ悕浜哄憳 + 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("鍒犻櫎鎴愬姛"); } @@ -98,9 +128,25 @@ baseMapper.getPage(page, query); for (ActivityVO vo : page.getRecords()) { - if (!"鏂囧瓧".equals(vo.getCoverType())){ - String url = lmkFileService.getPreviewUrl(vo.getCover()); - vo.setUrl(url); + 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 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()); @@ -112,14 +158,29 @@ Assert.notNull(vo, "璁板綍涓嶅瓨鍦�"); return Result.ok().data(vo); } + @Override + public Result getCanReportPage(ActivityQuery query){ + //鏌ヨ鍒扮殑缁撴灉宸茬粡瀹℃牳涓斿彂甯� + IPage<ActivityVO> page = PageUtil.getPage(query, ActivityVO.class); + //宸插彂甯冪殑娲诲姩 + baseMapper.getCanReportPage(page, query); + + for(ActivityVO activityVO : page.getRecords()){ + activityVO.setUrl(cOSUtil.getPreviewUrl(activityVO.getCover())); + } + + return Result.ok().data(page.getRecords()).total(page.getTotal()); + } @Override public Result all() { + List<Activity> entities = baseMapper.selectList(null); List<ActivityVO> vos = entities.stream() .map(entity -> ActivityVO.getVoByEntity(entity, null)) .collect(Collectors.toList()); - return Result.ok().data(vos); + List<ActivityVO> reportActivityVo =vos.stream().filter(item -> ActivityStatusEnum.REPORT.getType().equals(item.getStatus())).collect(Collectors.toList()); + return Result.ok().data(reportActivityVo); } @Override @@ -140,9 +201,30 @@ @Override public Result activityChangeStatus(ActivityForm form) { Activity entity = baseMapper.selectById(form.getId()); - entity.setStatus(form.getStatus()); - baseMapper.updateById(entity); - return Result.ok(); + entity.setPublish(form.getPublish()); + if (!form.getPublish()){ + //涓嬫灦鍒ゆ柇鏄惁鏈変汉鍛樻姤鍚嶏紝鏈夋姤鍚嶇殑璇濈姝㈡彁閱掓棤娉曚笅鏋� + ActivityMembersQuery activityMembersQuery = new ActivityMembersQuery(); + activityMembersQuery.setId(form.getId()); + 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("娲诲姩鏈�氳繃瀹℃牳"); + } + + + + } + + + } @Override @@ -159,4 +241,6 @@ baseMapper.getMembers(page, query); return Result.ok().data(page.getRecords()).total(page.getTotal()); } + + } -- Gitblit v1.8.0