From 7c038921c9242db70ea751ac45f6cdc6c35e4a2e Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期二, 15 七月 2025 14:59:07 +0800
Subject: [PATCH] 商家端活动申请

---
 framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java |   71 ++++++++++++++++++++++++++---------
 1 files changed, 53 insertions(+), 18 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..2557297 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
@@ -46,7 +46,7 @@
     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 +55,7 @@
         entity.setPublish(false);
         //璁剧疆鐢宠浜篿d
         entity.setMemberId(UserContext.getCurrentUserId());
+        entity.setStoreId(UserContext.getCurrentUser().getStoreId());
         baseMapper.insert(entity);
         mangerSaveOrUpdate(isManager,entity);
         return Result.ok("娣诲姞鎴愬姛");
@@ -80,37 +81,53 @@
         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){
+            if (isPublishActivity(id)){
+                return Result.error("瀛樺湪娲诲姩宸插彂甯冨垹闄ゅ墠璇蜂笅鏋惰娲诲姩锛�");
+            }
+            if(haveApplicationMembers(id)){
+                return Result.error("瀛樺湪娲诲姩宸叉湁鎶ュ悕浜哄憳锛屾棤娉曞垹闄わ紒");
+            }
+
+        }
+        //鏈粡杩噐eturn鍒欏垹闄�
+        for (String id : ids){
+            delActivityAndInformation(id);
+        }
+
         return Result.ok("鍒犻櫎鎴愬姛");
     }
-
-    @Override
-    public Result removeById(String id) {
-        //鍏堝垽鏂椿鍔ㄦ槸鍚︽湁鎶ュ悕浜哄憳
+    //鍒ゆ柇娲诲姩鏄惁瀛樺湪鎶ュ悕浜哄憳
+    public Boolean haveApplicationMembers(String id){
         ActivityMembersQuery activityMembersQuery = new ActivityMembersQuery();
         activityMembersQuery.setId(id);
-        if((long)activityMembersPage(activityMembersQuery).get("total") > 0){
-            return Result.error("璇ユ椿鍔ㄦ棤娉曚笅鏋讹紝宸插瓨鍦ㄦ姤鍚嶄汉鍛�");
-        }
-        //鍒犻櫎锛屽悓鏃跺垽鏂瀵硅薄鐨勫皝闈㈡槸鍚﹀瓨鍦� 锛屽瓨鍦ㄥ垯鍦ㄤ簯鏈嶅姟鍣ㄥ垹闄�
+        return (long) activityMembersPage(activityMembersQuery).get("total") > 0;
+    }
+    //鍒ゆ柇浜掑姩鏄惁鍙戝竷
+    public Boolean isPublishActivity(String id){
+        Activity activity = baseMapper.selectById(id);
+        return activity.getPublish();
+    }
+
+    //鍒犻櫎娲诲姩鍚屾椂鍒犻櫎娲诲姩鐨勭浉鍏充俊鎭�
+    public void delActivityAndInformation(String id){
         ActivityVO vo = baseMapper.getById(id);
         if (StringUtils.isNotEmpty(vo.getCover())){
             lmkFileService.deleteObject(vo.getCover());
@@ -118,7 +135,19 @@
         baseMapper.deleteById(id);
         //鍒犻櫎瀹℃牳璁板綍
         activityAuditRecordService.delActivityAuditById(id);
+    }
+    @Override
+    public Result removeById(String id) {
+        //鍏堝垽鏂椿鍔ㄦ槸鍚︽湁鎶ュ悕浜哄憳
+        if (isPublishActivity(id)){
+            return Result.error("璇ユ椿鍔ㄥ凡鍙戝竷鍒犻櫎鍓嶈涓嬫灦璇ユ椿鍔紒");
+        }
 
+        if(haveApplicationMembers(id)){
+            return Result.error("璇ユ椿鍔ㄥ凡鏈夋姤鍚嶄汉鍛橈紝鏃犳硶鍒犻櫎锛�");
+        }
+        //鍒犻櫎锛屽悓鏃跺垽鏂瀵硅薄鐨勫皝闈㈡槸鍚﹀瓨鍦� 锛屽瓨鍦ㄥ垯鍦ㄤ簯鏈嶅姟鍣ㄥ垹闄�
+        delActivityAndInformation(id);
         return Result.ok("鍒犻櫎鎴愬姛");
     }
 
@@ -137,18 +166,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());
     }
 

--
Gitblit v1.8.0