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 &lt;= #{query.reportEndTime}</if>
+            <if test="query.memberId != null and query.memberId !=''">AND LA.member_id &lt;= #{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