【新增】活动
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