【新增】活动
This commit is contained in:
71
src/main/java/com/corewing/app/entity/BizActivity.java
Normal file
71
src/main/java/com/corewing/app/entity/BizActivity.java
Normal file
@@ -0,0 +1,71 @@
|
||||
package com.corewing.app.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.corewing.app.common.base.CommonEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 活动
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@TableName("biz_activity")
|
||||
public class BizActivity extends CommonEntity {
|
||||
|
||||
/* id */
|
||||
@TableId
|
||||
private String id;
|
||||
|
||||
/* 活动图 */
|
||||
private String thumbnail;
|
||||
|
||||
/* 活动标题 */
|
||||
private String title;
|
||||
|
||||
/* 活动描述 */
|
||||
private String description;
|
||||
|
||||
/* 活动分类 */
|
||||
private String category;
|
||||
|
||||
/* 活动平台 */
|
||||
private String platformCategory;
|
||||
|
||||
/* 活动人数 */
|
||||
private Integer participationCount;
|
||||
|
||||
/* 当前参与人数 */
|
||||
private Integer currentCount;
|
||||
|
||||
/* 活动详情 */
|
||||
private String content;
|
||||
|
||||
/* 活动开始时间 */
|
||||
private Date startTime;
|
||||
|
||||
/* 活动结束时间 */
|
||||
private Date endTime;
|
||||
|
||||
/* 活动状态 */
|
||||
private String status;
|
||||
|
||||
/* 是否开启活动参与人员审核 */
|
||||
private String personnelReview;
|
||||
|
||||
/* 活动排序 */
|
||||
private Integer sortCode;
|
||||
|
||||
/* 备注 */
|
||||
private String remark;
|
||||
|
||||
/* 扩展 */
|
||||
private String extJson;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package com.corewing.app.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.corewing.app.common.base.CommonEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@TableName("biz_activity_lottery")
|
||||
public class BizActivityLottery extends CommonEntity {
|
||||
|
||||
/* id */
|
||||
@TableId
|
||||
private String id;
|
||||
|
||||
/* 活动id */
|
||||
private String activityId;
|
||||
|
||||
/* 分类 */
|
||||
private String category;
|
||||
|
||||
/* 用户名 */
|
||||
private String userName;
|
||||
|
||||
/* 用户id */
|
||||
private Long userId;
|
||||
|
||||
/* 状态 */
|
||||
private String status;
|
||||
|
||||
/* 提交内容 */
|
||||
private String content;
|
||||
|
||||
/* 审核时间 */
|
||||
private Date reviewTime;
|
||||
|
||||
/* 创作平台 */
|
||||
private String creationPlatform;
|
||||
|
||||
/* 备注 */
|
||||
private String remark;
|
||||
|
||||
/* 排序 */
|
||||
private Integer sortCode;
|
||||
|
||||
/* 扩展字段 */
|
||||
private String extJson;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.corewing.app.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.corewing.app.entity.BizActivityLottery;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface BizActivityLotteryMapper extends BaseMapper<BizActivityLottery> {
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.corewing.app.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.corewing.app.entity.BizActivity;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface BizActivityMapper extends BaseMapper<BizActivity> {
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.corewing.app.modules.app;
|
||||
|
||||
import com.corewing.app.common.Result;
|
||||
import com.corewing.app.dto.SubmitActivityRequest;
|
||||
import com.corewing.app.service.BizActivityLotteryService;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@Api(tags = "活动控制")
|
||||
@Controller
|
||||
@RequestMapping("/api/app/activity")
|
||||
public class AppActivityController {
|
||||
|
||||
@Resource
|
||||
private BizActivityLotteryService bizActivityLotteryService;
|
||||
|
||||
/**
|
||||
* 活动参与地址
|
||||
* @param activityId
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/eventVenue/{activityId}")
|
||||
public String eventVenue(@PathVariable String activityId) {
|
||||
return "/activity/eventVenue";
|
||||
}
|
||||
|
||||
/**
|
||||
* 提交活动
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/submitActivity")
|
||||
@ResponseBody
|
||||
public Result<String> submitActivity(SubmitActivityRequest submitActivityRequest) {
|
||||
return Result.isBool(bizActivityLotteryService.submitActivity(submitActivityRequest));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.corewing.app.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.corewing.app.dto.SubmitActivityRequest;
|
||||
import com.corewing.app.entity.BizActivityLottery;
|
||||
|
||||
public interface BizActivityLotteryService extends IService<BizActivityLottery> {
|
||||
|
||||
Boolean submitActivity(SubmitActivityRequest submitActivityRequest);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.corewing.app.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.corewing.app.entity.BizActivity;
|
||||
|
||||
public interface BizActivityService extends IService<BizActivity> {
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.corewing.app.service.impl;
|
||||
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.corewing.app.dto.SubmitActivityRequest;
|
||||
import com.corewing.app.entity.BizActivity;
|
||||
import com.corewing.app.entity.BizActivityLottery;
|
||||
import com.corewing.app.mapper.BizActivityLotteryMapper;
|
||||
import com.corewing.app.service.BizActivityLotteryService;
|
||||
import com.corewing.app.service.BizActivityService;
|
||||
import com.corewing.app.util.DateUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Date;
|
||||
import java.util.Objects;
|
||||
|
||||
@Service
|
||||
public class BizActivityLotteryServiceImpl extends ServiceImpl<BizActivityLotteryMapper, BizActivityLottery> implements BizActivityLotteryService {
|
||||
|
||||
@Resource
|
||||
private BizActivityService bizActivityService;
|
||||
|
||||
@Override
|
||||
public Boolean submitActivity(SubmitActivityRequest submitActivityRequest) {
|
||||
|
||||
Long userid = StpUtil.getLoginIdAsLong();
|
||||
|
||||
BizActivity activity = bizActivityService.getById(submitActivityRequest.getActivityId());
|
||||
if(activity == null) {
|
||||
throw new RuntimeException("该活动不存在");
|
||||
}
|
||||
|
||||
// 验证活动是否在有效期内
|
||||
if(activity.getStartTime() != null && activity.getEndTime() != null) {
|
||||
if(!DateUtils.isBefore(activity.getStartTime())) {
|
||||
throw new RuntimeException("活动还未开始");
|
||||
}
|
||||
|
||||
if(!DateUtils.isAfter(activity.getEndTime())) {
|
||||
throw new RuntimeException("活动已过期");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 校验是否参与
|
||||
LambdaQueryWrapper<BizActivityLottery> checkLotteryWrapper = new LambdaQueryWrapper<>();
|
||||
checkLotteryWrapper.eq(BizActivityLottery::getUserId, userid);
|
||||
checkLotteryWrapper.eq(BizActivityLottery::getActivityId, submitActivityRequest.getActivityId());
|
||||
if(count(checkLotteryWrapper) > 0) {
|
||||
throw new RuntimeException("该活动你已经参与");
|
||||
}
|
||||
|
||||
BizActivityLottery bizActivityLottery = new BizActivityLottery();
|
||||
bizActivityLottery.setActivityId(submitActivityRequest.getActivityId());
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.corewing.app.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.corewing.app.entity.BizActivity;
|
||||
import com.corewing.app.mapper.BizActivityMapper;
|
||||
import com.corewing.app.service.BizActivityService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class BizActivityServiceImpl extends ServiceImpl<BizActivityMapper, BizActivity> implements BizActivityService {
|
||||
}
|
||||
6
src/main/resources/mapper/BizActivityLotteryMapper.xml
Normal file
6
src/main/resources/mapper/BizActivityLotteryMapper.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?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="com.corewing.app.mapper.BizActivityLotteryMapper">
|
||||
|
||||
|
||||
</mapper>
|
||||
6
src/main/resources/mapper/BizActivityMapper.xml
Normal file
6
src/main/resources/mapper/BizActivityMapper.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?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="com.corewing.app.mapper.BizActivityMapper">
|
||||
|
||||
|
||||
</mapper>
|
||||
10
src/main/resources/templates/activity/eventVenue.html
Normal file
10
src/main/resources/templates/activity/eventVenue.html
Normal file
@@ -0,0 +1,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Title</title>
|
||||
</head>
|
||||
<body>
|
||||
123213
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user