From 4e502853119c6d8e7ff686191e19bb0a19a4f875 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期三, 04 六月 2025 16:35:09 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- framework/src/main/java/cn/lili/modules/lmk/service/impl/MyActivityServiceImpl.java | 112 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 92 insertions(+), 20 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/MyActivityServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/MyActivityServiceImpl.java index 8193824..ca098d0 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/MyActivityServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/MyActivityServiceImpl.java @@ -1,18 +1,26 @@ package cn.lili.modules.lmk.service.impl; import cn.lili.base.Result; +import cn.lili.common.security.context.UserContext; +import cn.lili.common.utils.StringUtils; import cn.lili.modules.lmk.domain.entity.Activity; +import cn.lili.modules.lmk.domain.entity.ActivityReport; +import cn.lili.modules.lmk.domain.form.ActivityReportForm; import cn.lili.modules.lmk.domain.query.ActivityReportQuery; import cn.lili.modules.lmk.domain.query.MyActivityQuery; import cn.lili.modules.lmk.domain.vo.ActivityReportVO; import cn.lili.modules.lmk.domain.vo.ActivityVO; import cn.lili.modules.lmk.domain.vo.MyActivityVo; import cn.lili.modules.lmk.mapper.ActivityMapper; -import cn.lili.modules.lmk.service.LmkFileService; +import cn.lili.modules.lmk.mapper.ActivityReportMapper; import cn.lili.modules.lmk.service.MyActivityService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.xkzhangsan.time.utils.StringUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.util.Assert; import java.util.Date; import java.util.List; @@ -21,44 +29,108 @@ @RequiredArgsConstructor public class MyActivityServiceImpl extends ServiceImpl<ActivityMapper, Activity> implements MyActivityService { private final ActivityMapper activityMapper; - private final LmkFileService lmkFileService; + + private final ActivityReportMapper activityReportMapper; + @Override public Result getMyActivityList(MyActivityQuery query) { - List<MyActivityVo> myActivityList = activityMapper.getMyActivityList(query); + String userId = UserContext.getCurrentUserId(); + List<MyActivityVo> myActivityList = activityMapper.getMyActivityList(query,userId); - for (MyActivityVo vo : myActivityList) { - System.out.println(vo); - if (!"鏂囧瓧".equals(vo.getCoverType())){ -// String url = lmkFileService.getPreviewUrl(vo.getCover()); -// vo.setUrl(url); - } - } return Result.ok().data(myActivityList); } @Override - public Result cancelActivity(ActivityReportQuery query) { + public Result activityCancel(String activityId) { // TODO 鍒ゆ柇鏄惁鍦ㄦ姤鍚嶆椂闂村唴 鍦ㄧ殑璇濆彲浠ュ彇娑堟姤鍚嶏紝 锛堣嫢鏈夋姤鍚嶈垂闇�瑕侀��娆撅級 - ActivityReportVO vo = activityMapper.getActivityReport(query); + //鑾峰緱涓棿琛ㄤ俊鎭� + ActivityReportVO vo = userReport(activityId); - Activity activity = activityMapper.selectById(vo.getActivityId()); + Activity activity = activityMapper.selectById(activityId); Date date = new Date(); if(!date.before(activity.getReportStartTime()) && !date.after(activity.getReportEndTime())){ - int affectedRows = activityMapper.cancelActivity(vo.getId()); - if (affectedRows > 0) { + boolean rowsAffected = new LambdaUpdateChainWrapper<ActivityReport>(activityReportMapper) + .eq(ActivityReport::getId, vo.getId()) // WHERE id = ? + .set(ActivityReport::getCancel, true) // SET cancel = true + .update(); // 鎵ц鏇存柊 + + + if (rowsAffected) { return Result.ok("娲诲姩鍙栨秷鎴愬姛"); } else { // 鍙�夛細璁板綍璀﹀憡鏃ュ織 - throw new RuntimeException("娲诲姩涓嶅瓨鍦ㄦ垨宸插彇娑�"); + return Result.error("娲诲姩涓嶅瓨鍦ㄦ垨宸插彇娑�"); } }else { - throw new RuntimeException("娲诲姩宸蹭笉鍦ㄦ姤鍚嶆椂闂村唴鏃犳硶鍙栨秷"); + return Result.error("娲诲姩宸蹭笉鍦ㄦ姤鍚嶆椂闂村唴鏃犳硶鍙栨秷"); } - - - } + + @Override + public Result activityReport(ActivityReportForm reportActivityForm) { + //鍒ゆ柇鐢ㄦ埛鏄惁宸茬粡鎶ュ悕璇ユ椿鍔� + ActivityReportVO reportVO = userReport(reportActivityForm.getActivityId()); + if (reportVO != null) { + //鍒ゆ柇鏄惁宸插彇娑堣繃璇ユ椿鍔� + if (reportVO.getCancel()){ + //閲嶆柊鎶ュ悕 + + ActivityReport entity = ActivityReportForm.getEntityByForm(reportActivityForm, null); + entity.setId(reportVO.getId()); + entity.setUserId(UserContext.getCurrentUserId()); + entity.setCancel(false); + activityReportMapper.updateById(entity); + return Result.ok("鎴愬姛"); + }else { + return Result.error("璇ユ椿鍔ㄥ凡鎶ュ悕"); + } + + + } + ActivityReport entity = ActivityReportForm.getEntityByForm(reportActivityForm, null); + entity.setUserId(UserContext.getCurrentUserId()); + activityReportMapper.insert(entity); + return Result.ok("鎴愬姛"); + } + + /** + * 鑾峰緱涓棿琛ㄤ俊鎭�氳繃activityId锛寀serId + * @param activityId 娲诲姩id + * @return + */ + @Override + public ActivityReportVO userReport(String activityId){ + + if (UserContext.getCurrentUserId() == null || UserContext.getCurrentUserId().isEmpty()){ + throw new RuntimeException("鐢ㄦ埛鐧诲綍鐘舵�佸紓甯�"); + } + return activityReportMapper.getActivityReport(activityId,UserContext.getCurrentUserId()); + } + + @Override + public Result detailByUsr(String activityId) { + ActivityVO vo = baseMapper.getById(activityId); + Assert.notNull(vo, "璁板綍涓嶅瓨鍦�"); + + ActivityReportVO reportVO = userReport(activityId); + //鍒欏綋鍓嶇敤鎴锋湭鎶ュ悕 + if (reportVO == null){ + vo.setIsReport(false); + }else { + //宸插彇娑堝垯鍙互鎶ュ悕 + if (reportVO.getCancel()){ + vo.setIsReport(false); + }else { + vo.setIsReport(true); + } + + } + return Result.ok().data(vo); + } + + + } -- Gitblit v1.8.0