From ba524bc13846fcbedb231b4bebc9a1a0927c5f70 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期五, 30 五月 2025 15:44:15 +0800
Subject: [PATCH] 活动用户登录id可用后整理
---
framework/src/main/java/cn/lili/modules/lmk/domain/query/MyActivityQuery.java | 2
framework/src/main/java/cn/lili/modules/lmk/domain/vo/ActivityReportVO.java | 14 ++
framework/src/main/java/cn/lili/modules/lmk/domain/form/ActivityReportForm.java | 34 ++++
buyer-api/src/main/java/cn/lili/controller/lmk/MyActivityController.java | 11
framework/src/main/java/cn/lili/modules/lmk/domain/vo/ActivityVO.java | 2
framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java | 34 +++-
framework/src/main/java/cn/lili/modules/lmk/service/MyActivityService.java | 15 ++
framework/src/main/resources/mapper/lmk/ActivityReportMapper.xml | 23 +++
framework/src/main/java/cn/lili/modules/lmk/mapper/ActivityReportMapper.java | 23 +++
framework/src/main/java/cn/lili/modules/lmk/domain/entity/ActivityReport.java | 21 +++
lmk-job/src/main/java/cn/lili/job/ActivityJob.java | 14 +
buyer-api/src/main/java/cn/lili/controller/lmk/ActivityReportController.java | 43 ++++++
framework/src/main/java/cn/lili/modules/lmk/mapper/ActivityMapper.java | 11
framework/src/main/java/cn/lili/modules/lmk/service/ActivityService.java | 2
framework/src/main/java/cn/lili/modules/lmk/service/impl/MyActivityServiceImpl.java | 112 +++++++++++++--
framework/src/main/resources/mapper/lmk/ActivityMapper.xml | 20 --
16 files changed, 309 insertions(+), 72 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
new file mode 100644
index 0000000..ff0bac3
--- /dev/null
+++ b/buyer-api/src/main/java/cn/lili/controller/lmk/ActivityReportController.java
@@ -0,0 +1,43 @@
+package cn.lili.controller.lmk;
+
+import cn.lili.base.Result;
+import cn.lili.common.security.context.UserContext;
+import cn.lili.modules.lmk.domain.form.ActivityReportForm;
+import cn.lili.modules.lmk.service.ActivityService;
+import cn.lili.modules.lmk.service.MyActivityService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+@Validated
+@RequiredArgsConstructor
+@Api(value = "灏忕▼搴忕娲诲姩绠$悊", tags = "灏忕▼搴忕娲诲姩绠$悊")
+@RestController
+@RequestMapping("/buyer/lmk/activityReport")
+public class ActivityReportController {
+
+ private final ActivityService activityService;
+
+ private final MyActivityService myActivityService;
+
+ @GetMapping()
+ @ApiOperation(value = "娲诲姩鍒楄〃", notes = "娲诲姩鍒楄〃")
+ public Result getAllActivity(){
+ return activityService.all();
+ }
+
+ @PostMapping()
+ @ApiOperation(value = "鎶ュ悕娲诲姩", notes = "娲诲姩鎶ュ悕")
+ public Result activityReport(@RequestBody ActivityReportForm activityReportForm){
+
+ return myActivityService.activityReport(activityReportForm);
+ }
+
+ @GetMapping("/getDetail/{activityId}")
+ @ApiOperation(value = "娲诲姩璇︽儏", notes = "娲诲姩璇︽儏")
+ 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 e181ddc..723ea1c 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
@@ -1,6 +1,7 @@
package cn.lili.controller.lmk;
import cn.lili.base.Result;
+import cn.lili.common.security.context.UserContext;
import cn.lili.modules.lmk.domain.query.ActivityReportQuery;
import cn.lili.modules.lmk.domain.query.MyActivityQuery;
import cn.lili.modules.lmk.service.ActivityService;
@@ -21,15 +22,13 @@
@GetMapping("/getMyActivityList")
@ApiOperation(value = "鑾峰緱鎴戠殑娲诲姩鍒楄〃", notes = "鑾峰緱鎴戠殑娲诲姩鍒楄〃")
public Result getMyActivityList(MyActivityQuery query){
-
return myActivityService.getMyActivityList(query);
}
-
- @PutMapping("/cancelActivity")
- @ApiOperation(value = "鑾峰緱鎴戠殑娲诲姩鍒楄〃", notes = "鑾峰緱鎴戠殑娲诲姩鍒楄〃")
- public Result cancelActivity(@RequestBody ActivityReportQuery query){
- return myActivityService.cancelActivity(query);
+ @PutMapping("/activityCancel/{activityId}")
+ @ApiOperation(value = "鍙栨秷娲诲姩", notes = "鍙栨秷娲诲姩")
+ public Result activityCancel(@PathVariable String activityId){
+ return myActivityService.activityCancel(activityId);
}
}
diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/entity/ActivityReport.java b/framework/src/main/java/cn/lili/modules/lmk/domain/entity/ActivityReport.java
new file mode 100644
index 0000000..fd0d242
--- /dev/null
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/entity/ActivityReport.java
@@ -0,0 +1,21 @@
+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;
+
+@Data
+@TableName("lmk_activity_report")
+public class ActivityReport extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @TableField("activity_id")
+ private String activityId;
+
+ @TableField("user_id")
+ private String userId;
+
+ @TableField("cancel")
+ private Boolean cancel;
+}
diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/form/ActivityReportForm.java b/framework/src/main/java/cn/lili/modules/lmk/domain/form/ActivityReportForm.java
new file mode 100644
index 0000000..2cfc624
--- /dev/null
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/form/ActivityReportForm.java
@@ -0,0 +1,34 @@
+package cn.lili.modules.lmk.domain.form;
+
+import cn.lili.base.AbsForm;
+import cn.lili.modules.lmk.domain.entity.Activity;
+import cn.lili.modules.lmk.domain.entity.ActivityReport;
+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;
+
+@Data
+@ApiModel(value = "鎶ュ悕娲诲姩琛ㄥ崟", description = "鎶ュ悕娲诲姩琛ㄥ崟")
+public class ActivityReportForm extends AbsForm {
+
+ /** 娲诲姩id */
+ @ApiModelProperty(value = "娲诲姩id")
+ @NotBlank
+ private String activityId;
+
+ /** 鏄惁鍙栨秷鎶ュ悕 */
+ @ApiModelProperty(value = "鍙栨秷閭f姤鍚�")
+ private Boolean cancel;
+
+ public static ActivityReport getEntityByForm(@NonNull ActivityReportForm form, ActivityReport entity) {
+ if(entity == null) {
+ entity = new ActivityReport();
+ }
+ BeanUtils.copyProperties(form, entity);
+ return entity;
+ }
+}
diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/query/MyActivityQuery.java b/framework/src/main/java/cn/lili/modules/lmk/domain/query/MyActivityQuery.java
index 5da2252..7c4bbcd 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/domain/query/MyActivityQuery.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/query/MyActivityQuery.java
@@ -16,7 +16,5 @@
/** 鏄惁鍙栨秷*/
private Boolean cancel;
- @NotBlank
- private String id;
}
diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/ActivityReportVO.java b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/ActivityReportVO.java
index a2dfb23..df72a3d 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/ActivityReportVO.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/ActivityReportVO.java
@@ -1,8 +1,12 @@
package cn.lili.modules.lmk.domain.vo;
import cn.lili.base.AbsVo;
+import cn.lili.modules.lmk.domain.entity.Activity;
+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;
@Data
@ApiModel(value = "ActivityReport涓棿琛ㄥ搷搴旀暟鎹�", description = "鍝嶅簲鏁版嵁")
@@ -12,4 +16,14 @@
/** 鐢ㄦ埛id*/
private String userId;
+
+ private Boolean cancel;
+
+ public static ActivityReportVO getVoByEntity(@NonNull ActivityReport entity, ActivityReportVO vo) {
+ if(vo == null) {
+ vo = new ActivityReportVO();
+ }
+ 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 1007010..a239abb 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
@@ -85,6 +85,8 @@
/** 鎶ュ悕浜哄憳闆嗗悎*/
private List<MemberVO> members;
+ private Boolean isReport;
+
public static ActivityVO getVoByEntity(@NonNull Activity entity, ActivityVO vo) {
if(vo == null) {
vo = new ActivityVO();
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 ac7f14b..06e725b 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
@@ -1,7 +1,6 @@
package cn.lili.modules.lmk.mapper;
import cn.lili.modules.lmk.domain.entity.Activity;
-import cn.lili.modules.lmk.domain.entity.CustomerBlack;
import cn.lili.modules.lmk.domain.query.*;
import cn.lili.modules.lmk.domain.vo.ActivityReportVO;
import cn.lili.modules.lmk.domain.vo.ActivityVO;
@@ -39,11 +38,7 @@
IPage getMembers(IPage page, @Param("query") ActivityMembersQuery query);
- List<MyActivityVo> getMyActivityList(@Param("query")MyActivityQuery query);
-
- int cancelActivity(String id);
-
- ActivityReportVO getActivityReport(@Param("query")ActivityReportQuery query);
+ List<MyActivityVo> getMyActivityList(@Param("query")MyActivityQuery query,@Param("userId") String userId);
/**
* 鎵归噺鏇存柊娲诲姩
@@ -51,4 +46,8 @@
* @return 鍙楀奖鍝嶇殑琛屾暟
*/
int batchUpdateActivities(@Param("list") List<Activity> activityList);
+
+
+
+
}
diff --git a/framework/src/main/java/cn/lili/modules/lmk/mapper/ActivityReportMapper.java b/framework/src/main/java/cn/lili/modules/lmk/mapper/ActivityReportMapper.java
new file mode 100644
index 0000000..50355c9
--- /dev/null
+++ b/framework/src/main/java/cn/lili/modules/lmk/mapper/ActivityReportMapper.java
@@ -0,0 +1,23 @@
+package cn.lili.modules.lmk.mapper;
+
+import cn.lili.modules.lmk.domain.entity.ActivityReport;
+import cn.lili.modules.lmk.domain.query.ActivityReportQuery;
+import cn.lili.modules.lmk.domain.vo.ActivityReportVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 鎶ュ悕涓棿琛ㄦ帴鍙�
+ */
+@Mapper
+public interface ActivityReportMapper extends BaseMapper<ActivityReport> {
+
+ /**
+ * 鑾峰緱涓棿琛ㄧ殑淇℃伅
+ * @param activityId 娲诲姩id
+ * @param userId 鐢ㄦ埗id
+ * @return
+ */
+ ActivityReportVO getActivityReport(@Param("activityId") String activityId, @Param("userId") String userId);
+}
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 a2b6106..dd890a6 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
@@ -3,6 +3,7 @@
import cn.lili.base.Result;
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.ActivityMembersQuery;
import cn.lili.modules.lmk.domain.query.ActivityQuery;
import cn.lili.modules.lmk.domain.query.MyActivityQuery;
@@ -73,4 +74,5 @@
Result activityMembersPage(ActivityMembersQuery query);
+
}
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/MyActivityService.java b/framework/src/main/java/cn/lili/modules/lmk/service/MyActivityService.java
index a52e75c..ca43f8e 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/MyActivityService.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/MyActivityService.java
@@ -2,12 +2,25 @@
import cn.lili.base.Result;
import cn.lili.modules.lmk.domain.entity.Activity;
+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 com.baomidou.mybatisplus.extension.service.IService;
public interface MyActivityService extends IService<Activity> {
public Result getMyActivityList(MyActivityQuery query);
- public Result cancelActivity(ActivityReportQuery query);
+ public Result activityCancel(String activityId);
+
+ Result activityReport(ActivityReportForm activityReportForm);
+
+ /**
+ * 鑾峰緱鎶ュ悕涓棿琛ㄥ璞℃洿鍏锋椿鍔╥d 锛岋紙鐢ㄦ埛id锛夋潵鑷猽ser涓婁笅鏂�
+ * @param activityId 娲诲姩id
+ * @return 鏈煡鍒� 杩斿洖 null
+ */
+ ActivityReportVO userReport(String activityId);
+
+ Result detailByUsr(String activityId);
}
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 779ff38..5999d78 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,22 +3,22 @@
import cn.lili.base.Result;
import cn.lili.common.enums.ActivityStatusEnum;
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.entity.ActivityReport;
import cn.lili.modules.lmk.domain.form.ActivityForm;
-import cn.lili.modules.lmk.domain.form.CustomerTagRefForm;
+import cn.lili.modules.lmk.domain.form.ActivityReportForm;
import cn.lili.modules.lmk.domain.query.ActivityMembersQuery;
import cn.lili.modules.lmk.domain.query.ActivityQuery;
+import cn.lili.modules.lmk.domain.vo.ActivityReportVO;
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.mapper.ActivityReportMapper;
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.modules.member.service.MemberService;
import cn.lili.utils.PageUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import io.micrometer.core.instrument.util.StringUtils;
import lombok.RequiredArgsConstructor;
@@ -34,10 +34,11 @@
@RequiredArgsConstructor
public class ActivityServiceImpl extends ServiceImpl<ActivityMapper, Activity> implements ActivityService {
- private final ActivityMapper activityMapper;
-
private final LmkFileService lmkFileService;
+ private final MyActivityService activityService;
+
+ private final ActivityReportMapper activityReportMapper;
@Override
public Result add(ActivityForm form) {
@@ -72,10 +73,6 @@
return Result.ok("淇敼鎴愬姛");
}
- public void updateByList(List<Activity> vo){
-
- }
-
@Override
public Result remove(List<String> ids) {
baseMapper.deleteBatchIds(ids);
@@ -84,12 +81,19 @@
@Override
public Result removeById(String id) {
+ //TODO 鍏堝垽鏂椿鍔ㄦ槸鍚︽湁鎶ュ悕浜哄憳
+ //鏈夌殑璇濅笉鍙垹闄� 鑱斾腑闂磋〃鏌ヨ
+
+
+
+
//鍒犻櫎锛屽悓鏃跺垽鏂瀵硅薄鐨勫皝闈㈡槸鍚﹀瓨鍦� 锛屽瓨鍦ㄥ垯鍦ㄤ簯鏈嶅姟鍣ㄥ垹闄�
ActivityVO vo = baseMapper.getById(id);
if (StringUtils.isNotEmpty(vo.getCover())){
lmkFileService.deleteObject(vo.getCover());
}
baseMapper.deleteById(id);
+
return Result.ok("鍒犻櫎鎴愬姛");
}
@@ -114,13 +118,15 @@
return Result.ok().data(vo);
}
+
@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
@@ -160,4 +166,6 @@
baseMapper.getMembers(page, query);
return Result.ok().data(page.getRecords()).total(page.getTotal());
}
+
+
}
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);
+ }
+
+
+
}
diff --git a/framework/src/main/resources/mapper/lmk/ActivityMapper.xml b/framework/src/main/resources/mapper/lmk/ActivityMapper.xml
index 0362cd4..4b05374 100644
--- a/framework/src/main/resources/mapper/lmk/ActivityMapper.xml
+++ b/framework/src/main/resources/mapper/lmk/ActivityMapper.xml
@@ -32,10 +32,6 @@
<result column="activity_report_id" property="activityReportId"/>
</resultMap>
- <resultMap id="ActivityReportMap" type="cn.lili.modules.lmk.domain.vo.ActivityReportVO">
- <result column="activity_id" property="activityId"/>
- <result column="user_id" property="userId"/>
- </resultMap>
<select id="getMyActivityList" resultMap="MyActivityResultMap">
@@ -55,7 +51,7 @@
LEFT JOIN lmk_activity LA ON LAR.activity_id = LA.id
where LA.delete_flag = 0
AND LAR.delete_flag = 0
- AND LAR.user_id = #{query.id}
+ AND LAR.user_id = #{userId}
AND LAR.cancel = #{query.cancel}
<if test="query.status == null or query.status == ''">
AND LA.status != '宸茬粨鏉�'
@@ -148,19 +144,6 @@
WHERE LAR.activity_id = #{query.id}
</select>
-
- <update id="cancelActivity" >
- UPDATE
- lmk_activity_report LAR
- SET LAR.cancel = true where LAR.id = #{id}
- </update>
-
-
- <select id="getActivityReport" resultMap="ActivityReportMap">
- SELECT LAR.* FROM lmk_activity_report LAR
- WHERE LAR.user_id = #{query.userId} and LAR.activity_id = #{query.activityId}
- </select>
-
<update id="batchUpdateActivities">
UPDATE lmk_activity
<trim prefix="SET" suffixOverrides=",">
@@ -175,4 +158,5 @@
#{item.id}
</foreach>
</update>
+
</mapper>
diff --git a/framework/src/main/resources/mapper/lmk/ActivityReportMapper.xml b/framework/src/main/resources/mapper/lmk/ActivityReportMapper.xml
new file mode 100644
index 0000000..f7662d2
--- /dev/null
+++ b/framework/src/main/resources/mapper/lmk/ActivityReportMapper.xml
@@ -0,0 +1,23 @@
+<?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.ActivityReportMapper">
+
+ <resultMap id="ActivityReportMap" type="cn.lili.modules.lmk.domain.vo.ActivityReportVO">
+ <result column="activity_id" property="activityId"/>
+ <result column="user_id" property="userId"/>
+ </resultMap>
+
+ <update id="cancelActivity" >
+ UPDATE
+ lmk_activity_report LAR
+ SET LAR.cancel = true where LAR.id = #{id}
+ </update>
+
+
+ <select id="getActivityReport" resultType="cn.lili.modules.lmk.domain.vo.ActivityReportVO">
+ SELECT LAR.* FROM lmk_activity_report LAR
+ WHERE LAR.user_id = #{userId} and LAR.activity_id = #{activityId}
+ AND LAR.delete_flag = 0
+ </select>
+
+</mapper>
diff --git a/lmk-job/src/main/java/cn/lili/job/ActivityJob.java b/lmk-job/src/main/java/cn/lili/job/ActivityJob.java
index 40f0268..7d88ea0 100644
--- a/lmk-job/src/main/java/cn/lili/job/ActivityJob.java
+++ b/lmk-job/src/main/java/cn/lili/job/ActivityJob.java
@@ -43,16 +43,17 @@
.list();
Date now = new Date(); // 鑾峰彇褰撳墠鏃堕棿
-
-
for (Activity activity : activeActivities) {
if (isInProgress(now, activity)) {
activity.setStatus(ActivityStatusEnum.IN_PROGRESS.getType());
} else if (isRecruiting(now, activity)) {
activity.setStatus(ActivityStatusEnum.REPORT.getType());
- } else if (now.before(activity.getReportStartTime())) {
+ } else if (now.before(activity.getReportStartTime())) { //鍦ㄦ姤鍚嶆椂闂翠箣鍓�
activity.setStatus(ActivityStatusEnum.NOT_STARTED.getType());
- } else {
+ }else if(now.after(activity.getReportEndTime()) && now.before(activity.getStartTime())){ //鍙兘鍑虹幇 鍦ㄦ姤鍚嶇粨鏉熸椂闂村悗锛� 娲诲姩寮�濮嬩箣鍓嶇殑鎯呭喌
+ activity.setStatus(ActivityStatusEnum.NOT_STARTED.getType());
+ }
+ else {
activity.setStatus(ActivityStatusEnum.ENDED.getType());
}
}
@@ -62,11 +63,12 @@
XxlJobHelper.log("鎵ц瀹屾垚锛氭椿鍔ㄧ姸鎬佹敼鍙�");
}
-
+ //娲诲姩寮�濮嬫椂闂翠箣鍚庯紝缁撴潫鏃堕棿涔嬪墠 鍦ㄦ椿鍔ㄦ湡闂�
private boolean isInProgress(Date now, Activity activity) {
+
return !now.before(activity.getStartTime()) && !now.after(activity.getEndTime());
}
-
+ //鍦ㄦ姤鍚嶆湡闂�
private boolean isRecruiting(Date now, Activity activity) {
return !now.before(activity.getReportStartTime()) && !now.after(activity.getReportEndTime());
}
--
Gitblit v1.8.0