From 3565ef641c4204aaf7d9a2eaf770ca034110f67a Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 20 十一月 2025 09:16:04 +0800
Subject: [PATCH] 名称加*
---
framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java | 134 +++++++++++++++++++++++++++++++-------------
1 files changed, 95 insertions(+), 39 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 09313f2..2920e96 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
@@ -14,6 +14,7 @@
import cn.lili.modules.lmk.domain.vo.ActivityVO;
import cn.lili.modules.lmk.mapper.ActivityMapper;
import cn.lili.modules.lmk.service.ActivityAuditRecordService;
+import cn.lili.modules.lmk.service.ActivityReportService;
import cn.lili.modules.lmk.service.ActivityService;
import cn.lili.modules.lmk.service.LmkFileService;
import cn.lili.modules.member.entity.vo.MemberVO;
@@ -25,14 +26,17 @@
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import org.springframework.web.multipart.MultipartFile;
+import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@Service
@RequiredArgsConstructor
+@Transactional
public class ActivityServiceImpl extends ServiceImpl<ActivityMapper, Activity> implements ActivityService {
private final LmkFileService lmkFileService;
@@ -41,12 +45,14 @@
private final ActivityAuditRecordService activityAuditRecordService;
+ private final ActivityReportService activityReportService;
+
@Override
public Result add(ActivityForm form,Boolean isManager) {
Activity entity = ActivityForm.getEntityByForm(form, null);
- System.out.println(entity);
+
//榛樿鏂板娲诲姩涓�
entity.setStatus(ActivityStatusEnum.NOT_STARTED.getType());
//榛樿涓嶄负鎺ㄨ崘
@@ -55,6 +61,7 @@
entity.setPublish(false);
//璁剧疆鐢宠浜篿d
entity.setMemberId(UserContext.getCurrentUserId());
+ entity.setStoreId(UserContext.getCurrentUser().getStoreId());
baseMapper.insert(entity);
mangerSaveOrUpdate(isManager,entity);
return Result.ok("娣诲姞鎴愬姛");
@@ -80,46 +87,84 @@
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());
+ activityAuditRecordForm = ActivityAuditRecordForm.getFormByManager(entity.getId());
}else {
- activityAuditRecordForm = ActivityAuditRecordForm.getEntityByBuyerBuildForm(entity.getId());
+ activityAuditRecordForm = ActivityAuditRecordForm.getFormByBuyer(entity.getId());
}
activityAuditRecordService.addOrUpdateAuditActivity(activityAuditRecordForm);
}
@Override
public Result remove(List<String> ids) {
- baseMapper.deleteBatchIds(ids);
+ //鍒ゆ柇娲诲姩id鏄惁宸茬粡瀛樺湪鎶ュ悕浜哄憳
+ for(String id : ids){
+ Result result = canDeleteActivity(id);
+ Integer code = (Integer) result.get("code");
+ if (code != 200){
+ return result;
+ }
+ }
+
return Result.ok("鍒犻櫎鎴愬姛");
}
+ /**
+ * 鍒ゆ柇鏄惁鑳藉垹闄ゆ椿鍔� 骞跺垹闄ゆ椿鍔ㄧ浉鍏充俊鎭�
+ * @param id
+ * @return
+ */
+ public Result canDeleteActivity(String id){
+ Activity activity = baseMapper.selectById(id);
+
+ //娲诲姩鏄惁鍙戝竷
+ if (activity.getPublish()){
+ return Result.error("瀛樺湪娲诲姩宸插彂甯冨垹闄ゅ墠璇蜂笅鏋惰娲诲姩锛�");
+ }
+ //妫�鏌ユ姤鍚嶄汉鍛樺墠鍒ゆ柇娲诲姩鏄惁缁撴潫浜� 缁撴潫浜嗗氨鍏佽鍒犻櫎
+ Date currentDate = new Date();
+ if (currentDate.before(activity.getEndTime())){
+ //娲诲姩鏈粨鏉� 涓旀姤鍚嶄汉鍛樼殑鎯呭喌
+ if(haveApplicationMembers(activity.getId())){
+ //todo 鎶ュ悕浜哄憳瀛樺湪 浣嗘槸闇�瑕佸垹闄ょ殑鎯呭喌棰勭暀
+// return Result.error("娲诲姩鏈粨鏉熶笖宸叉湁鎶ュ悕浜哄憳锛屾棤娉曞垹闄わ紒");
+ }
+
+ }
+ delActivityAndInformation(activity);
+ return Result.ok("鍒犻櫎鎴愬姛");
+ }
+ //鍒ゆ柇娲诲姩鏄惁瀛樺湪鎶ュ悕浜哄憳
+ public Boolean haveApplicationMembers(String id){
+ ActivityMembersQuery activityMembersQuery = new ActivityMembersQuery();
+ activityMembersQuery.setId(id);
+ return (long) activityMembersPage(activityMembersQuery).get("total") > 0;
+ }
+ //鍒ゆ柇浜掑姩鏄惁鍙戝竷
+
+ //鍒犻櫎娲诲姩鍚屾椂鍒犻櫎娲诲姩鐨勭浉鍏充俊鎭�
+ public void delActivityAndInformation(Activity activity){
+// if (StringUtils.isNotEmpty(activity.getCover())){
+// lmkFileService.deleteObject(activity.getCover());
+// }
+ baseMapper.deleteById(activity.getId());
+ //鍒犻櫎瀹℃牳璁板綍
+ activityAuditRecordService.delActivityAuditById(activity.getId());
+ //鍒犻櫎娲诲姩鎶ュ悕浜哄憳
+ activityReportService.delByActivityId(activity.getId());
+ }
+
+
@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("鍒犻櫎鎴愬姛");
+ return canDeleteActivity(id);
}
@Override
@@ -137,18 +182,24 @@
@Override
public Result getMyApplyActivityPage(ActivityQuery query){
- System.out.println(query);
//浼犲叆褰撳墠璇锋眰鐢ㄦ埛鐨刬d
- query.setMemberId(UserContext.getCurrentUserId());
+ String storeId = UserContext.getCurrentUser().getStoreId();
+ if (storeId == null){
+ query.setMemberId(UserContext.getCurrentUserId());
+ }else {
+ query.setStoreId(storeId);
+ }
+
//鏇村叿鐢ㄦ埛id鑾峰緱娲诲姩
IPage<ActivityVO> page = PageUtil.getPage(query, ActivityVO.class);
- baseMapper.getPage(page, query);
+ baseMapper.storeGetPage(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());
}
@@ -200,31 +251,36 @@
@Override
public Result activityChangeStatus(ActivityForm form) {
+ //鍒ゆ柇娲诲姩
Activity entity = baseMapper.selectById(form.getId());
+
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("璇ユ椿鍔ㄦ棤娉曚笅鏋讹紝宸插瓨鍦ㄦ姤鍚嶄汉鍛�");
+ Date currentTime = new Date();
+
+ if (currentTime.before(entity.getEndTime())){
+ if(haveApplicationMembers(form.getId())){
+// return Result.error("璇ユ椿鍔ㄦ棤娉曚笅鏋讹紝宸插瓨鍦ㄦ姤鍚嶄汉鍛�");
+ //todo 鎶ュ悕浜哄憳瀛樺湪 浣嗘槸闇�瑕佷笅鏋剁殑鎯呭喌棰勭暀
+
+ }
+
+
}
- return Result.ok();
+
}else {
//鍒ゆ柇璇ユ椿鍔ㄦ槸鍚﹀鏍搁�氳繃
- if(activityAuditRecordService.getActivityActivityIsAudit(form.getId())){
- baseMapper.updateById(entity);
- return Result.ok();
- }else {
+ if(!activityAuditRecordService.getActivityActivityIsAudit(form.getId())){
return Result.error("娲诲姩鏈�氳繃瀹℃牳");
+
}
-
-
-
}
-
-
-
+ baseMapper.updateById(entity);
+ return Result.ok();
}
@Override
--
Gitblit v1.8.0