Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
软件工程实践2022年春W班
Followers
TeamPractice4
比较版本
c927be3a8b530351bdc8b8a370f4794152cd3385...964580dda4b8456e46e1170f44a32af152a7d93f
T
TeamPractice4
项目概览
软件工程实践2022年春W班
/
Followers
/
TeamPractice4
通知
7
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TeamPractice4
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
源分支
964580dda4b8456e46e1170f44a32af152a7d93f
选择Git版本
...
目标分支
c927be3a8b530351bdc8b8a370f4794152cd3385
选择Git版本
比较
Commits (45)
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/d67cbb8ecd037b9601866d53a33d9cdb04ee6a3b
userDao
2022-04-23T12:51:41+08:00
LKJKJOIUIU
834629193@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/defb5ca4ed6e2a3e52440fe2a98a31746cfcf7e1
UserService
2022-04-23T13:17:41+08:00
LKJKJOIUIU
834629193@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/5e019639184a53a8992fd5edf637ada836d4f734
Merge branch 'backend_zyx' into 'backend'
2022-04-23T13:21:36+08:00
LKJKJOIUIU
834629193@qq.com
Backend zyx See merge request <a href="/SoftwareEngineering2022ClassW/followers/teampractice4/-/merge_requests/2" data-original="SoftwareEngineering2022ClassW/followers/teampractice4!2" data-link="false" data-link-reference="false" data-project="121547" data-merge-request="50409" data-project-path="SoftwareEngineering2022ClassW/followers/teampractice4" data-iid="2" data-mr-title="Backend zyx" data-reference-type="merge_request" data-container="body" data-placement="top" title="" class="gfm gfm-merge_request">!2</a>
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/272b0d9ea7306b11bd50f0e1914e2cbdec326cff
修改
2022-04-23T13:25:26+08:00
legend
792051764@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/0d38dd05eb17ea572336ccc2b894fb95eca0b0d4
Merge branch 'dev_wlj' into 'backend'
2022-04-23T13:25:26+08:00
221900223吴良杰
792051764@qq.com
修改 See merge request <a href="/SoftwareEngineering2022ClassW/followers/teampractice4/-/merge_requests/3" data-original="SoftwareEngineering2022ClassW/followers/teampractice4!3" data-link="false" data-link-reference="false" data-project="121547" data-merge-request="50410" data-project-path="SoftwareEngineering2022ClassW/followers/teampractice4" data-iid="3" data-mr-title="修改" data-reference-type="merge_request" data-container="body" data-placement="top" title="" class="gfm gfm-merge_request">!3</a>
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/96aea8f68007004e7c930a8913be19acfe3ff6b1
Merge branch 'backend_hck' into 'backend'
2022-04-23T13:25:41+08:00
Veltuss
1551206259@qq.com
Backend hck See merge request <a href="/SoftwareEngineering2022ClassW/followers/teampractice4/-/merge_requests/4" data-original="SoftwareEngineering2022ClassW/followers/teampractice4!4" data-link="false" data-link-reference="false" data-project="121547" data-merge-request="50411" data-project-path="SoftwareEngineering2022ClassW/followers/teampractice4" data-iid="4" data-mr-title="Backend hck" data-reference-type="merge_request" data-container="body" data-placement="top" title="" class="gfm gfm-merge_request">!4</a>
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/eb7a2191dd3666652b1f1758fc498b1a172abfb8
activitymapper
2022-04-23T13:42:10+08:00
legend
792051764@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/133519673fc72f977d7f580f96ffec389fc1cdfb
Merge branch 'dev_wlj' into 'backend'
2022-04-23T13:40:41+08:00
221900223吴良杰
792051764@qq.com
activitymapper See merge request <a href="/SoftwareEngineering2022ClassW/followers/teampractice4/-/merge_requests/5" data-original="SoftwareEngineering2022ClassW/followers/teampractice4!5" data-link="false" data-link-reference="false" data-project="121547" data-merge-request="50412" data-project-path="SoftwareEngineering2022ClassW/followers/teampractice4" data-iid="5" data-mr-title="activitymapper" data-reference-type="merge_request" data-container="body" data-placement="top" title="" class="gfm gfm-merge_request">!5</a>
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/5edf7e30c58459fd7759ab071b6674090c3c878e
参与者dao
2022-04-23T14:39:03+08:00
lyc
1142207420@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/606e71c06ff184d5131b889604a70b1bd1a144ed
userService
2022-04-23T14:46:05+08:00
veltuss
1551206259@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/587798006937ae98cb9b0cbf03d4b96a6f702f77
抽奖信息
2022-04-23T14:50:02+08:00
legend
792051764@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/b7a66639b2cf93458edca34cea22c5a44866e220
Merge branch 'dev_wlj' into 'backend'
2022-04-23T14:48:51+08:00
221900223吴良杰
792051764@qq.com
抽奖信息 See merge request <a href="/SoftwareEngineering2022ClassW/followers/teampractice4/-/merge_requests/6" data-original="SoftwareEngineering2022ClassW/followers/teampractice4!6" data-link="false" data-link-reference="false" data-project="121547" data-merge-request="50413" data-project-path="SoftwareEngineering2022ClassW/followers/teampractice4" data-iid="6" data-mr-title="抽奖信息" data-reference-type="merge_request" data-container="body" data-placement="top" title="" class="gfm gfm-merge_request">!6</a>
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/0f1f56cd122f32b6693553e64fe779a9ddec8224
抽奖参与者service,controller初步
2022-04-23T15:00:02+08:00
lyc
1142207420@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/801bed948f9c3d63fc3c2d13ab5df7dd6beee664
Merge remote-tracking branch 'origin/backend' into backend
2022-04-23T15:00:18+08:00
lyc
1142207420@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/817608017cb38ff3bc63a75e243af943bf23a629
修复bug
2022-04-23T15:35:06+08:00
veltuss
1551206259@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/2e51e8908610ed16fd2529c4af16f71a899784d6
bug修复
2022-04-23T15:38:20+08:00
lyc
1142207420@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/153150d6b1487ee3010c07fa251b2198fcc13f0c
修正信息
2022-04-23T15:43:44+08:00
legend
792051764@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/784dc98ea3b48a88f1c5f0426c8f736e360234b5
Merge branch 'dev_wlj' into 'backend'
2022-04-23T15:49:22+08:00
221900223吴良杰
792051764@qq.com
修正信息 See merge request <a href="/SoftwareEngineering2022ClassW/followers/teampractice4/-/merge_requests/7" data-original="SoftwareEngineering2022ClassW/followers/teampractice4!7" data-link="false" data-link-reference="false" data-project="121547" data-merge-request="50415" data-project-path="SoftwareEngineering2022ClassW/followers/teampractice4" data-iid="7" data-mr-title="修正信息" data-reference-type="merge_request" data-container="body" data-placement="top" title="" class="gfm gfm-merge_request">!7</a>
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/8cddc3c03a1f049775c1dd1673068d0b859b1b5a
修复UserController中的错误
2022-04-23T15:54:13+08:00
veltuss
1551206259@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/2dc375946b86d35fa43e7abf3ca932d92f91f480
ActivityController
2022-04-23T16:15:06+08:00
legend
792051764@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/a39196dd75ae61994af99fc9073296cea5da7a46
admin
2022-04-23T16:48:50+08:00
LKJKJOIUIU
834629193@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/50adc1c24a692166e7aacea3e0b6ad7b49a36be2
Merge remote-tracking branch 'origin/backend' into backend
2022-04-23T16:49:12+08:00
LKJKJOIUIU
834629193@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/d8da5669035960d20ac7687a5ba71d5de1d1788c
定时器
2022-04-23T17:05:55+08:00
lyc
1142207420@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/e2d200f3a4b17cdf75fe6b4d3b91be4c75f7ba52
Merge remote-tracking branch 'origin/backend' into backend
2022-04-23T17:06:06+08:00
lyc
1142207420@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/f052fa4edb4c5a771d50eccb05249a7561e85b66
抽奖活动接收方式修改
2022-04-23T17:38:28+08:00
legend
792051764@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/57853c2ae70c2804c632eec68eb6700f9049e022
user功能模块
2022-04-23T18:02:26+08:00
veltuss
1551206259@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/fddea6c9191bb4e6423824afb1fb87177929eb23
admin
2022-04-23T18:52:31+08:00
LKJKJOIUIU
834629193@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/b50536e8dea6db3203674b9397927f7f9c29c1c7
跨域处理
2022-04-23T19:34:38+08:00
veltuss
1551206259@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/fdf75f2941e4a3a2f182b5e32482fb16b029a1b4
修改抽奖活动
2022-04-23T19:47:58+08:00
LKJKJOIUIU
834629193@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/446a6be42b77d102ea9c287ad2a1278490ef44b6
定时工具类,可传参任务
2022-04-23T19:57:24+08:00
lyc
1142207420@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/6f43d849cd03ce91e780d86fc401516007165e14
Merge remote-tracking branch 'origin/backend' into backend
2022-04-23T19:57:46+08:00
lyc
1142207420@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/c8182684e95ea8c5e60f52712e60858835f7d3ab
定时工具类,可传参任务
2022-04-23T19:59:34+08:00
lyc
1142207420@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/ad683dea59011a1f5a062c8ac414d9121fdacb55
Participants sql语句新增与修改
2022-04-23T20:36:48+08:00
lyc
1142207420@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/089467219e017c9fe3d21d5674fc63e8622c02ff
删除定时任务
2022-04-23T21:09:51+08:00
lyc
1142207420@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/5fc648424f40399aae559c1517e2233dec2925e7
开奖方式初步
2022-04-23T21:13:44+08:00
legend
792051764@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/48127a04e450fd3ca6080f7acf04be8ad8e5e70c
修改抽奖活动
2022-04-23T21:25:03+08:00
LKJKJOIUIU
834629193@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/162fc94879a38992e09cb10cbb1023872eba4661
void
2022-04-23T21:27:52+08:00
lyc
1142207420@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/2baf98c5875c973bd8fb62fdf5bc07f001d0ee4c
Merge remote-tracking branch 'origin/backend' into backend
2022-04-23T21:27:59+08:00
lyc
1142207420@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/bf255e697199583473a5ef8ae8a2f7f098e45d00
修改抽奖活动
2022-04-23T21:52:08+08:00
LKJKJOIUIU
834629193@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/26a8b2dc0bee44009f5f77eed7e8ad29e242d644
开奖
2022-04-23T21:58:29+08:00
lyc
1142207420@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/c389be912206e20341890dc05a339c3be71a68b3
Merge remote-tracking branch 'origin/backend' into backend
2022-04-23T21:59:32+08:00
lyc
1142207420@qq.com
# Conflicts: # backend/src/main/java/com/nav/controller/ActivityController.java
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/e80e89c8e59a2a3a941129fa4d8ba28b6fd5f337
跨域
2022-04-23T22:04:14+08:00
lyc
1142207420@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/12f5442fff3ed9b53da0e66fe25ce2e5352623ee
参与抽奖
2022-04-23T22:27:30+08:00
lyc
1142207420@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/aab46c1b02861e86d95f0b1c8ef97776e37ee446
修改pom
2022-04-23T22:50:22+08:00
LKJKJOIUIU
834629193@qq.com
https://gitcode.net/SoftwareEngineering2022ClassW/followers/teampractice4/-/commit/964580dda4b8456e46e1170f44a32af152a7d93f
Merge branch 'backend' into 'master'
2022-04-23T23:29:56+08:00
IIIllI
1142207420@qq.com
Backend See merge request <a href="/SoftwareEngineering2022ClassW/followers/teampractice4/-/merge_requests/10" data-original="SoftwareEngineering2022ClassW/followers/teampractice4!10" data-link="false" data-link-reference="false" data-project="121547" data-merge-request="50437" data-project-path="SoftwareEngineering2022ClassW/followers/teampractice4" data-iid="10" data-mr-title="Backend" data-reference-type="merge_request" data-container="body" data-placement="top" title="" class="gfm gfm-merge_request">!10</a>
隐藏空白更改
内联
并排
Showing
27 changed file
with
869 addition
and
23 deletion
+869
-23
backend/pom.xml
backend/pom.xml
+9
-6
backend/src/main/java/com/nav/controller/ActivityController.java
.../src/main/java/com/nav/controller/ActivityController.java
+125
-0
backend/src/main/java/com/nav/controller/AdminController.java
...end/src/main/java/com/nav/controller/AdminController.java
+30
-0
backend/src/main/java/com/nav/controller/ParticipantController.java
...c/main/java/com/nav/controller/ParticipantController.java
+40
-0
backend/src/main/java/com/nav/controller/UserController.java
backend/src/main/java/com/nav/controller/UserController.java
+49
-14
backend/src/main/java/com/nav/dao/ActivityDao.java
backend/src/main/java/com/nav/dao/ActivityDao.java
+30
-0
backend/src/main/java/com/nav/dao/AdminDao.java
backend/src/main/java/com/nav/dao/AdminDao.java
+12
-0
backend/src/main/java/com/nav/dao/ParticipantDao.java
backend/src/main/java/com/nav/dao/ParticipantDao.java
+28
-0
backend/src/main/java/com/nav/dao/UserDao.java
backend/src/main/java/com/nav/dao/UserDao.java
+15
-0
backend/src/main/java/com/nav/pojo/Activity.java
backend/src/main/java/com/nav/pojo/Activity.java
+1
-0
backend/src/main/java/com/nav/pojo/Award.java
backend/src/main/java/com/nav/pojo/Award.java
+13
-0
backend/src/main/java/com/nav/service/ActivityService.java
backend/src/main/java/com/nav/service/ActivityService.java
+25
-0
backend/src/main/java/com/nav/service/ActivityServiceImpl.java
...nd/src/main/java/com/nav/service/ActivityServiceImpl.java
+44
-0
backend/src/main/java/com/nav/service/AdminService.java
backend/src/main/java/com/nav/service/AdminService.java
+14
-0
backend/src/main/java/com/nav/service/AdminServiceImpl.java
backend/src/main/java/com/nav/service/AdminServiceImpl.java
+27
-0
backend/src/main/java/com/nav/service/ParticipantService.java
...end/src/main/java/com/nav/service/ParticipantService.java
+20
-0
backend/src/main/java/com/nav/service/ParticipantServiceImp.java
.../src/main/java/com/nav/service/ParticipantServiceImp.java
+44
-0
backend/src/main/java/com/nav/service/UserService.java
backend/src/main/java/com/nav/service/UserService.java
+23
-0
backend/src/main/java/com/nav/service/UserServiceImpl.java
backend/src/main/java/com/nav/service/UserServiceImpl.java
+57
-0
backend/src/main/java/com/nav/util/Draw.java
backend/src/main/java/com/nav/util/Draw.java
+32
-0
backend/src/main/java/com/nav/util/IpUtil.java
backend/src/main/java/com/nav/util/IpUtil.java
+45
-0
backend/src/main/java/com/nav/util/Quartz.java
backend/src/main/java/com/nav/util/Quartz.java
+62
-0
backend/src/main/resources/application.yml
backend/src/main/resources/application.yml
+3
-3
backend/src/main/resources/mapper/ActivityMapper.xml
backend/src/main/resources/mapper/ActivityMapper.xml
+37
-0
backend/src/main/resources/mapper/AdminMapper.xml
backend/src/main/resources/mapper/AdminMapper.xml
+10
-0
backend/src/main/resources/mapper/PaticipantMapper.xml
backend/src/main/resources/mapper/PaticipantMapper.xml
+37
-0
backend/src/main/resources/mapper/UserMapper.xml
backend/src/main/resources/mapper/UserMapper.xml
+37
-0
未找到文件。
backend/pom.xml
浏览文件 @
964580dd
...
...
@@ -21,7 +21,11 @@
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
fastjson
</artifactId>
<version>
1.2.57
</version>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-test
</artifactId>
...
...
@@ -32,11 +36,6 @@
<artifactId>
mybatis-spring-boot-starter
</artifactId>
<version>
2.1.3
</version>
</dependency>
<dependency>
<groupId>
org.mybatis.spring.boot
</groupId>
<artifactId>
mybatis-spring-boot
</artifactId>
<version>
2.2.0
</version>
</dependency>
<dependency>
<groupId>
org.projectlombok
</groupId>
<artifactId>
lombok
</artifactId>
...
...
@@ -45,6 +44,10 @@
<groupId>
mysql
</groupId>
<artifactId>
mysql-connector-java
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-quartz
</artifactId>
</dependency>
</dependencies>
<build>
...
...
backend/src/main/java/com/nav/controller/ActivityController.java
0 → 100644
浏览文件 @
964580dd
package
com.nav.controller
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mchange.v1.util.Sublist
;
import
com.nav.pojo.Activity
;
import
com.nav.pojo.Award
;
import
com.nav.pojo.Participant
;
import
com.nav.pojo.User
;
import
com.nav.service.ActivityService
;
import
com.nav.service.ParticipantService
;
import
com.nav.util.Quartz
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.scheduling.quartz.SchedulerFactoryBean
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.Model
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpSession
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Random
;
@CrossOrigin
(
origins
=
"*"
)
@RestController
@RequestMapping
(
"/activity"
)
public
class
ActivityController
{
//@Autowired
//SchedulerFactoryBean schedulerFactoryBean;
@Autowired
ParticipantService
participantService
;
@Autowired
ActivityService
activityService
;
@RequestMapping
(
"/allActivity"
)
public
List
<
Activity
>
list
()
{
List
<
Activity
>
list
=
activityService
.
getActivityList
();
return
list
;
}
@RequestMapping
(
"/{id}"
)
public
Activity
getActivityById
(
@PathVariable
long
id
)
{
return
activityService
.
getActivityById
(
id
);
}
@RequestMapping
(
"byUser/{id}"
)
public
List
<
Activity
>
getActivityByUserId
(
@PathVariable
long
id
)
{
return
activityService
.
getActivityByUserId
(
id
);
}
//接收前端传递的json数据
@PostMapping
(
"/addActivity"
)
public
Object
addActivity
(
@RequestBody
Map
<
String
,
Object
>
activity
)
throws
ParseException
{
Activity
activity1
=
new
Activity
();
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
activity1
.
setFirst
((
String
)
activity
.
get
(
"first"
));
activity1
.
setSecond
((
String
)
activity
.
get
(
"second"
));
activity1
.
setThird
((
String
)
activity
.
get
(
"third"
));
activity1
.
setFirstCount
((
int
)
activity
.
get
(
"firstCount"
));
activity1
.
setSecondCount
((
int
)
activity
.
get
(
"secondCount"
));
activity1
.
setThirdCount
((
int
)
activity
.
get
(
"thirdCount"
));
activity1
.
setLimit
((
int
)
activity
.
get
(
"limit"
));
activity1
.
setStartTime
(
format
.
parse
(((
String
)
activity
.
get
(
"startTime"
))));
activity1
.
setEndTime
(
format
.
parse
(((
String
)
activity
.
get
(
"endTime"
))));
activity1
.
setState
((
int
)
activity
.
get
(
"state"
));
activity1
.
setUserId
(
((
Integer
)
activity
.
get
(
"userId"
)).
longValue
());
activity1
.
setName
((
String
)
activity
.
get
(
"name"
));
activityService
.
addActivity
(
activity1
);
return
null
;
}
@RequestMapping
(
"/participateActivity"
)
public
String
participateActivity
(
@PathVariable
(
"userId"
)
Long
userId
,
@PathVariable
(
"userId"
)
Long
activityId
)
{
participantService
.
participateDraw
(
userId
,
activityId
);
return
"参与成功"
;
}
@RequestMapping
(
"/updateActivity"
)
public
Object
updateActivity
(
@RequestBody
JSONObject
param
)
{
JSONObject
activity_json
=
param
.
getJSONObject
(
"activity"
);
Activity
activity
=(
Activity
)
JSONObject
.
toJavaObject
(
activity_json
,
Activity
.
class
);
activityService
.
updateActivity
(
activity
);
return
null
;
}
@RequestMapping
(
"/del/{userId}"
)
public
Object
deleteActivity
(
@PathVariable
(
"userId"
)
int
id
)
{
activityService
.
deleteActivity
(
id
);
return
null
;
}
//开奖
@RequestMapping
(
"/luckdraw/{id}"
)
public
List
<
Award
>
luckdraw
(
@PathVariable
(
"id"
)
Long
id
)
{
Random
random
=
new
Random
();
List
<
User
>
userList
=
participantService
.
selectParticipants
(
id
);
Activity
activity
=
activityService
.
getActivityById
(
id
);
int
first
=
activity
.
getFirstCount
();
int
second
=
activity
.
getSecondCount
();
int
third
=
activity
.
getThirdCount
();
for
(
int
i
=
0
;
i
<
first
&&
i
<
userList
.
size
();
i
++)
{
participantService
.
setState
(
userList
.
get
(
i
).
getId
(),
id
,
1
);
}
for
(
int
i
=
first
;
i
<
first
+
second
&&
i
<
userList
.
size
();
i
++)
{
participantService
.
setState
(
userList
.
get
(
i
).
getId
(),
id
,
2
);
}
for
(
int
i
=
first
+
second
;
i
<
first
+
second
+
third
&&
i
<
userList
.
size
();
i
++)
{
participantService
.
setState
(
userList
.
get
(
i
).
getId
(),
id
,
3
);
}
return
participantService
.
selectAwardList
(
id
);
}
}
backend/src/main/java/com/nav/controller/AdminController.java
0 → 100644
浏览文件 @
964580dd
package
com.nav.controller
;
import
com.nav.pojo.Activity
;
import
com.nav.service.ActivityService
;
import
com.nav.service.AdminService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.Model
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
javax.servlet.http.HttpSession
;
import
java.util.List
;
@Controller
@RequestMapping
(
"/admin"
)
public
class
AdminController
{
@Autowired
AdminService
adminService
;
//封号
@RequestMapping
(
"/setState"
)
public
void
setUserState
()
{
adminService
.
setUserState
();
}
}
backend/src/main/java/com/nav/controller/ParticipantController.java
0 → 100644
浏览文件 @
964580dd
package
com.nav.controller
;
import
com.nav.service.ParticipantService
;
import
com.nav.util.Quartz
;
import
org.quartz.SchedulerException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.quartz.SchedulerFactoryBean
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.Map
;
@RestController
public
class
ParticipantController
{
@Autowired
private
ParticipantService
participantService
;
@Autowired
private
SchedulerFactoryBean
bean
;
@Autowired
private
ParticipantService
service
;
@RequestMapping
(
"/test"
)
public
Map
<
String
,
Object
>
addParticipants
()
throws
ParseException
,
SchedulerException
{
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
Date
test
=
format
.
parse
(
"2022-04-23 21:09:30"
);
Quartz
.
autoDraw
(
bean
,
test
,
1L
);
Quartz
.
delJob
(
bean
,
1L
);
// service.participateDraw(4L,1L);
// service.setState(1L,1L,3);
return
null
;
}
}
backend/src/main/java/com/nav/controller/UserController.java
浏览文件 @
964580dd
package
com.nav.controller
;
import
com.nav.pojo.User
;
import
com.nav.service.UserService
;
import
com.nav.util.IpUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpSession
;
import
java.util.HashMap
;
import
java.util.Map
;
...
...
@@ -15,18 +18,22 @@ public class UserController {
@Autowired
UserService
userService
;
@
Reque
stMapping
(
"/login"
)
@
Po
stMapping
(
"/login"
)
@ResponseBody
public
Map
<
String
,
Object
>
login
(
@RequestBody
Map
<
String
,
String
>
user
){
@CrossOrigin
(
"*"
)
public
Map
<
String
,
Object
>
login
(
@RequestBody
Map
<
String
,
String
>
user
,
HttpServletRequest
req
){
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
String
phone
=
user
.
get
(
"
phon
e"
);
String
phone
=
user
.
get
(
"
usernam
e"
);
String
password
=
user
.
get
(
"password"
);
User
userInfo
=
userService
.
selectUserByPhone
(
phone
,
password
);
if
(
user
!=
null
)
{
if
(
userInfo
!=
null
)
{
HttpSession
session
=
req
.
getSession
();
//先创建session
session
.
setAttribute
(
"user"
,
userInfo
);
result
.
put
(
"msg"
,
"success"
);
result
.
put
(
"name"
,
user
.
getName
());
result
.
put
(
"phone"
,
user
.
getPhone
());
result
.
put
(
"address"
,
user
.
getAddress
());
result
.
put
(
"name"
,
userInfo
.
getName
());
result
.
put
(
"phone"
,
userInfo
.
getPhone
());
result
.
put
(
"address"
,
userInfo
.
getAddress
());
result
.
put
(
"ip"
,
IpUtil
.
getIpAddr
(
req
));
}
else
{
result
.
put
(
"msg"
,
"failed"
);
...
...
@@ -34,18 +41,46 @@ public class UserController {
return
result
;
}
@RequestMapping
(
"register"
)
@GetMapping
(
"logout"
)
public
Object
logout
(
HttpSession
session
){
session
.
removeAttribute
(
"user"
);
return
null
;
}
@PostMapping
(
"register"
)
@ResponseBody
public
Map
<
String
,
Object
>
register
(
@RequestBody
Map
<
String
,
String
>
user
){
@CrossOrigin
(
"*"
)
public
Map
<
String
,
Object
>
register
(
@RequestBody
Map
<
String
,
String
>
user
,
HttpServletRequest
request
){
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
String
phone
=
user
.
get
(
"
phon
e"
);
String
phone
=
user
.
get
(
"
usernam
e"
);
String
password
=
user
.
get
(
"password"
);
String
name
=
user
.
get
(
"name"
);
String
address
=
user
.
get
(
"address"
);
boolean
record
=
userService
.
insertUser
(
phone
,
password
,
name
,
address
);
String
IP
=
IpUtil
.
getIpAddr
(
request
);
boolean
record
=
userService
.
addUser
(
phone
,
password
,
name
,
address
,
IP
);
if
(!
record
){
result
.
put
(
"message"
,
"failed"
);
}
return
result
;
}
@PostMapping
(
"info"
)
@ResponseBody
public
Map
<
String
,
Object
>
getUserInfo
(
@RequestBody
Map
<
String
,
Object
>
user
){
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
Long
userId
=(
Long
)
user
.
get
(
"id"
);
User
userInfo
=
userService
.
selectUserInfo
(
userId
);
result
.
put
(
"name"
,
userInfo
.
getName
());
result
.
put
(
"phone"
,
userInfo
.
getPhone
());
result
.
put
(
"address"
,
userInfo
.
getAddress
());
return
result
;
}
@RequestMapping
(
value
=
"/getIp"
,
method
=
RequestMethod
.
GET
)
@ResponseBody
public
String
getIp
(
HttpServletRequest
request
)
{
return
IpUtil
.
getIpAddr
(
request
);
}
}
backend/src/main/java/com/nav/dao/ActivityDao.java
0 → 100644
浏览文件 @
964580dd
package
com.nav.dao
;
import
com.nav.pojo.Activity
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
@Mapper
@Repository
public
interface
ActivityDao
{
//查找全部抽奖活动信息
public
List
<
Activity
>
getActivityList
();
//查找指定活动Id的抽奖活动信息
public
Activity
getActivityById
(
long
activityId
);
//通过发布者id查找抽奖活动
public
List
<
Activity
>
getActivityByUserId
(
long
userId
);
//添加抽奖活动
public
void
addActivity
(
Activity
activity
);
//修改抽奖活动
public
void
updateActivity
(
Activity
activity
);
//删除抽奖活动(通过用户id)
public
void
deleteActivity
(
int
userId
);
}
backend/src/main/java/com/nav/dao/AdminDao.java
0 → 100644
浏览文件 @
964580dd
package
com.nav.dao
;
import
com.nav.pojo.Admin
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
@Mapper
@Repository
public
interface
AdminDao
{
public
List
<
Admin
>
getAdminList
();
}
backend/src/main/java/com/nav/dao/ParticipantDao.java
0 → 100644
浏览文件 @
964580dd
package
com.nav.dao
;
import
com.nav.pojo.Award
;
import
com.nav.pojo.User
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
import
java.util.Map
;
@Mapper
@Repository
public
interface
ParticipantDao
{
//获取参与抽奖人员 id:活动id
public
List
<
User
>
getParticipants
(
Long
id
);
//获取中奖信息
public
List
<
Award
>
getAward
(
Long
id
);
//参与抽象 userID activityID
public
void
addParticipants
(
Map
<
String
,
Object
>
params
);
//获取所有参与抽奖的人员
public
List
<
User
>
getAllParticipants
();
//修改中奖状态 userID activityID state
public
void
setState
(
Map
<
String
,
Object
>
params
);
}
backend/src/main/java/com/nav/dao/UserDao.java
浏览文件 @
964580dd
...
...
@@ -9,6 +9,21 @@ import java.util.List;
@Mapper
@Repository
public
interface
UserDao
{
//根据手机号查找用户
public
User
selectUserByPhone
(
String
phone
);
//返回所有用户
public
List
<
User
>
getUserList
();
//添加新用户
public
void
insertUser
(
String
phone
,
String
password
,
String
name
,
String
address
,
String
ip
);
//修改用户状态
public
void
updateUserState
();
//修改用户密码
public
void
updatePassword
(
String
pssword
);
//查询用户信息
public
User
selectUserById
(
Long
id
);
}
backend/src/main/java/com/nav/pojo/Activity.java
浏览文件 @
964580dd
...
...
@@ -22,4 +22,5 @@ public class Activity {
private
Date
endTime
;
private
int
state
;
private
long
userId
;
private
String
name
;
}
backend/src/main/java/com/nav/pojo/Award.java
0 → 100644
浏览文件 @
964580dd
package
com.nav.pojo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
Award
{
private
String
name
;
private
int
state
;
}
backend/src/main/java/com/nav/service/ActivityService.java
0 → 100644
浏览文件 @
964580dd
package
com.nav.service
;
import
com.nav.pojo.Activity
;
import
java.util.List
;
public
interface
ActivityService
{
//查找全部抽奖活动信息
public
List
<
Activity
>
getActivityList
();
//查找指定活动Id的抽奖活动信息
public
Activity
getActivityById
(
long
activityId
);
//通过发布者id查找抽奖活动
public
List
<
Activity
>
getActivityByUserId
(
long
userId
);
//添加抽奖活动
public
void
addActivity
(
Activity
activity
);
//修改抽奖活动
public
void
updateActivity
(
Activity
activity
);
//删除抽奖活动(通过用户id)
public
void
deleteActivity
(
int
userId
);
}
backend/src/main/java/com/nav/service/ActivityServiceImpl.java
0 → 100644
浏览文件 @
964580dd
package
com.nav.service
;
import
com.nav.dao.ActivityDao
;
import
com.nav.pojo.Activity
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
@Service
public
class
ActivityServiceImpl
implements
ActivityService
{
@Autowired
ActivityDao
activityDao
;
@Override
public
List
<
Activity
>
getActivityList
()
{
return
activityDao
.
getActivityList
();
}
@Override
public
Activity
getActivityById
(
long
activityId
)
{
return
activityDao
.
getActivityById
(
activityId
);
}
@Override
public
List
<
Activity
>
getActivityByUserId
(
long
userId
)
{
return
activityDao
.
getActivityByUserId
(
userId
);
}
@Override
public
void
addActivity
(
Activity
activity
)
{
activityDao
.
addActivity
(
activity
);
}
@Override
public
void
updateActivity
(
Activity
activity
)
{
activityDao
.
updateActivity
(
activity
);
}
@Override
public
void
deleteActivity
(
int
userId
)
{
activityDao
.
deleteActivity
(
userId
);
}
}
backend/src/main/java/com/nav/service/AdminService.java
0 → 100644
浏览文件 @
964580dd
package
com.nav.service
;
import
com.nav.pojo.Activity
;
import
com.nav.pojo.Participant
;
import
com.nav.pojo.User
;
import
java.util.List
;
public
interface
AdminService
{
//可以查看所有用户抽奖、中奖信息,还能看到后台统计信息如用户所属IP的账号数,并能够封禁账号。
public
List
<
Participant
>
getParticipantList
();
public
void
setUserState
();
}
\ No newline at end of file
backend/src/main/java/com/nav/service/AdminServiceImpl.java
0 → 100644
浏览文件 @
964580dd
package
com.nav.service
;
import
com.nav.dao.ActivityDao
;
import
com.nav.dao.UserDao
;
import
com.nav.pojo.Activity
;
import
com.nav.pojo.Participant
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
@Service
public
class
AdminServiceImpl
implements
AdminService
{
@Autowired
ActivityDao
activityDao
;
UserDao
userDao
;
@Override
public
List
<
Participant
>
getParticipantList
()
{
return
null
;
}
@Override
public
void
setUserState
()
{
userDao
.
updateUserState
();
}
}
backend/src/main/java/com/nav/service/ParticipantService.java
0 → 100644
浏览文件 @
964580dd
package
com.nav.service
;
import
com.nav.pojo.Award
;
import
com.nav.pojo.User
;
import
java.util.List
;
public
interface
ParticipantService
{
//查询活动参与者名单 活动id
public
List
<
User
>
selectParticipants
(
Long
id
);
//查询中奖名单 活动id
public
List
<
Award
>
selectAwardList
(
Long
id
);
//参与抽奖
public
void
participateDraw
(
Long
userId
,
Long
activityId
);
//修改中奖信息
public
void
setState
(
Long
userId
,
Long
activityId
,
int
state
);
}
backend/src/main/java/com/nav/service/ParticipantServiceImp.java
0 → 100644
浏览文件 @
964580dd
package
com.nav.service
;
import
com.nav.dao.ParticipantDao
;
import
com.nav.pojo.Award
;
import
com.nav.pojo.User
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
ParticipantServiceImp
implements
ParticipantService
{
@Autowired
private
ParticipantDao
participantDao
;
@Override
public
List
<
User
>
selectParticipants
(
Long
id
)
{
return
participantDao
.
getParticipants
(
id
);
}
@Override
public
List
<
Award
>
selectAwardList
(
Long
id
)
{
return
participantDao
.
getAward
(
id
);
}
@Override
public
void
participateDraw
(
Long
userId
,
Long
activityId
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"userId"
,
userId
);
map
.
put
(
"activityId"
,
activityId
);
participantDao
.
addParticipants
(
map
);
}
public
void
setState
(
Long
userId
,
Long
activityId
,
int
state
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"userId"
,
userId
);
map
.
put
(
"activityId"
,
activityId
);
map
.
put
(
"state"
,
state
);
participantDao
.
setState
(
map
);
}
}
backend/src/main/java/com/nav/service/UserService.java
0 → 100644
浏览文件 @
964580dd
package
com.nav.service
;
import
com.nav.pojo.User
;
import
java.util.List
;
public
interface
UserService
{
//根据手机号查找用户
public
User
selectUserByPhone
(
String
phone
,
String
password
);
//返回所有用户
public
List
<
User
>
getUserList
();
//添加新用户
public
boolean
addUser
(
String
phone
,
String
password
,
String
name
,
String
address
,
String
ip
);
//修改密码
public
void
updatePassword
(
String
password
);
//根据id返回用户信息
public
User
selectUserInfo
(
Long
id
);
}
backend/src/main/java/com/nav/service/UserServiceImpl.java
0 → 100644
浏览文件 @
964580dd
package
com.nav.service
;
import
com.nav.dao.UserDao
;
import
com.nav.pojo.User
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
@Service
public
class
UserServiceImpl
implements
UserService
{
@Autowired
UserDao
userDao
;
//根据手机号查找用户
@Override
public
User
selectUserByPhone
(
String
phone
,
String
password
){
User
user
=
userDao
.
selectUserByPhone
(
phone
);
if
(
user
!=
null
&&
user
.
getPassword
().
equals
(
password
)){
return
user
;
}
else
{
return
null
;
}
}
//返回所有用户
@Override
public
List
<
User
>
getUserList
(){
return
userDao
.
getUserList
();
}
@Override
public
boolean
addUser
(
String
phone
,
String
password
,
String
name
,
String
address
,
String
ip
)
{
User
user
=
userDao
.
selectUserByPhone
(
phone
);
if
(
user
!=
null
)
{
return
false
;
}
else
{
userDao
.
insertUser
(
phone
,
password
,
name
,
address
,
ip
);
return
true
;
}
}
@Override
public
void
updatePassword
(
String
password
)
{
userDao
.
updatePassword
(
password
);
}
@Override
public
User
selectUserInfo
(
Long
id
)
{
return
userDao
.
selectUserById
(
id
);
}
}
backend/src/main/java/com/nav/util/Draw.java
0 → 100644
浏览文件 @
964580dd
package
com.nav.util
;
import
com.nav.dao.ActivityDao
;
import
com.nav.dao.ParticipantDao
;
import
com.nav.service.ActivityService
;
import
com.nav.service.ParticipantService
;
import
org.quartz.JobDataMap
;
import
org.quartz.JobExecutionContext
;
import
org.quartz.JobExecutionException
;
import
org.quartz.JobKey
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.quartz.QuartzJobBean
;
import
java.util.Date
;
public
class
Draw
extends
QuartzJobBean
{
@Autowired
private
ActivityService
activityService
;
@Autowired
private
ParticipantService
participantService
;
@Override
protected
void
executeInternal
(
JobExecutionContext
context
)
throws
JobExecutionException
{
JobKey
jobKey
=
context
.
getJobDetail
().
getKey
();
JobDataMap
jobDataMap
=
context
.
getMergedJobDataMap
();
System
.
out
.
println
(
"id: "
+
jobDataMap
.
getLong
(
"id"
)+
"jobKey: "
+
jobKey
);
}
}
backend/src/main/java/com/nav/util/IpUtil.java
0 → 100644
浏览文件 @
964580dd
package
com.nav.util
;
import
javax.servlet.http.HttpServletRequest
;
import
java.net.InetAddress
;
import
java.net.UnknownHostException
;
public
class
IpUtil
{
public
static
String
getIpAddr
(
HttpServletRequest
request
)
{
String
ipAddress
=
null
;
try
{
ipAddress
=
request
.
getHeader
(
"x-forwarded-for"
);
if
(
ipAddress
==
null
||
ipAddress
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ipAddress
))
{
ipAddress
=
request
.
getHeader
(
"Proxy-Client-IP"
);
}
if
(
ipAddress
==
null
||
ipAddress
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ipAddress
))
{
ipAddress
=
request
.
getHeader
(
"WL-Proxy-Client-IP"
);
}
if
(
ipAddress
==
null
||
ipAddress
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ipAddress
))
{
ipAddress
=
request
.
getRemoteAddr
();
if
(
ipAddress
.
equals
(
"127.0.0.1"
))
{
// 根据网卡取本机配置的IP
InetAddress
inet
=
null
;
try
{
inet
=
InetAddress
.
getLocalHost
();
}
catch
(
UnknownHostException
e
)
{
e
.
printStackTrace
();
}
ipAddress
=
inet
.
getHostAddress
();
}
}
// 对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割
if
(
ipAddress
!=
null
&&
ipAddress
.
length
()
>
15
)
{
// "***.***.***.***".length()
// = 15
if
(
ipAddress
.
indexOf
(
","
)
>
0
)
{
ipAddress
=
ipAddress
.
substring
(
0
,
ipAddress
.
indexOf
(
","
));
}
}
}
catch
(
Exception
e
)
{
ipAddress
=
""
;
}
// ipAddress = this.getRequest().getRemoteAddr();
return
ipAddress
;
}
}
\ No newline at end of file
backend/src/main/java/com/nav/util/Quartz.java
0 → 100644
浏览文件 @
964580dd
package
com.nav.util
;
import
com.nav.util.Draw
;
import
org.quartz.*
;
import
org.springframework.scheduling.quartz.SchedulerFactoryBean
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.Random
;
public
class
Quartz
{
//public static SchedulerFactoryBean schedulerFactoryBean;
public
static
void
autoDraw
(
SchedulerFactoryBean
schedulerFactoryBean
,
Date
date
,
Long
activityID
)
throws
SchedulerException
,
ParseException
{
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
Date
test
=
format
.
parse
(
"2022-04-23 19:45:00"
);
Scheduler
scheduler
=
schedulerFactoryBean
.
getScheduler
();
JobDetail
jobDetail
=
JobBuilder
.
newJob
(
Draw
.
class
)
.
withIdentity
(
String
.
valueOf
(
activityID
))
.
usingJobData
(
"id"
,
activityID
)
.
storeDurably
()
.
build
();
Trigger
trigger
=
TriggerBuilder
.
newTrigger
()
.
forJob
(
jobDetail
)
//关联上述的JobDetail
.
withIdentity
(
String
.
valueOf
(
activityID
))
//给Trigger起个名字
.
withSchedule
(
SimpleScheduleBuilder
.
simpleSchedule
().
withRepeatCount
(
0
))
// 重复次数 执行一次不重复
.
startAt
(
date
)
.
build
();
scheduler
.
scheduleJob
(
jobDetail
,
trigger
);
}
public
static
void
delJob
(
SchedulerFactoryBean
schedulerFactoryBean
,
Long
activityID
)
throws
SchedulerException
{
// TriggerKey 定义了trigger的名称和组别 ,通过任务名和任务组名获取TriggerKey
TriggerKey
triggerKey
=
TriggerKey
.
triggerKey
(
String
.
valueOf
(
activityID
));
Scheduler
scheduler
=
schedulerFactoryBean
.
getScheduler
();
// 停止触发器
scheduler
.
resumeTrigger
(
triggerKey
);
//移除除触发器
scheduler
.
unscheduleJob
(
triggerKey
);
// 移除任务
scheduler
.
deleteJob
(
JobKey
.
jobKey
(
String
.
valueOf
(
activityID
)));
System
.
out
.
println
(
"删除定时任务成功"
);
}
public
static
String
createRandomStr
(
int
length
)
{
String
str
=
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
;
Random
random
=
new
Random
();
StringBuffer
stringBuffer
=
new
StringBuffer
();
for
(
int
i
=
0
;
i
<
length
;
i
++)
{
int
number
=
random
.
nextInt
(
62
);
stringBuffer
.
append
(
str
.
charAt
(
number
));
}
return
stringBuffer
.
toString
();
}
}
backend/src/main/resources/application.yml
浏览文件 @
964580dd
...
...
@@ -4,10 +4,10 @@ server:
spring
:
datasource
:
driver-class-name
:
com.mysql.cj.jdbc.Driver
url
:
jdbc:mysql://
localhost/XXXX
?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT
url
:
jdbc:mysql://
47.95.151.202/lotterysystem
?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT
username
:
root
password
:
123456
#����mapper��ӳ���ļ���λ��
password
:
Nav_
123456
mybatis
:
mapper-locations
:
classpath:/mapper/*.xml
configuration
:
...
...
backend/src/main/resources/mapper/ActivityMapper.xml
0 → 100644
浏览文件 @
964580dd
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.nav.dao.ActivityDao"
>
<select
id=
"getActivityList"
resultType=
"com.nav.pojo.Activity"
>
select * from activity;
</select>
<select
id=
"getActivityById"
resultType=
"com.nav.pojo.Activity"
>
select * from activity
where id = #{activityId}
</select>
<select
id=
"getActivityByUserId"
resultType=
"com.nav.pojo.Activity"
>
select * from activity
where user_id = #{userId}
</select>
<select
id=
"addActivity"
parameterType=
"com.nav.pojo.Activity"
>
insert into activity (`first`,`second`,third,first_count,second_count,third_count,`limit`,start_time,end_time,state,user_id,`name`)
values (#{first},#{second},#{third},#{firstCount},#{secondCount},#{thirdCount},#{limit},#{startTime},#{endTime},#{state},#{userId},#{name});
</select>
<update
id=
"updateActivity"
parameterType=
"com.nav.pojo.Activity"
>
update activity
set `first`=#{first},`second`=#{second},third=#{third},first_count=#{firstCount},
second_count=#{secondCount},third_count=#{thirdCount},`limit`=#{limit},start_time=#{startTime},
end_time=#{endTime},`state`=#{state},`name`=#{name}
where user_id = #{userId}
</update>
<delete
id=
"deleteActivity"
parameterType=
"int"
>
delete from activity where user_id=#{userId}
</delete>
</mapper>
\ No newline at end of file
backend/src/main/resources/mapper/AdminMapper.xml
0 → 100644
浏览文件 @
964580dd
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.nav.dao.AdminDao"
>
<select
id=
"getAdminList"
resultType=
"com.nav.pojo.Admin"
>
select * from admin;
</select>
</mapper>
\ No newline at end of file
backend/src/main/resources/mapper/PaticipantMapper.xml
0 → 100644
浏览文件 @
964580dd
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.nav.dao.ParticipantDao"
>
<select
id=
"getParticipants"
parameterType=
"long"
resultType=
"com.nav.pojo.User"
>
select *
from user
where id in (select user_id from participant where activity_id = #{1});
</select>
<select
id=
"getAward"
parameterType=
"long"
resultType=
"com.nav.pojo.Award"
>
select `user`.`name`, participant.state
from participant,
`user`
where participant.activity_id = #{id}
and participant.user_id = `user`.id
</select>
<select
id=
"getAllParticipants"
resultType=
"com.nav.pojo.User"
>
select *
from user
where id in (select user_id from participant);
</select>
<insert
id=
"addParticipants"
parameterType=
"map"
>
insert into participant (user_id, activity_id, `state`)
values (#{userId}, #{activityId}, 0)
</insert>
<update
id=
"setState"
parameterType=
"map"
>
update participant
set `state`=#{state}
where user_id = #{userId} and activity_id=#{activityId}
</update>
</mapper>
\ No newline at end of file
backend/src/main/resources/mapper/UserMapper.xml
0 → 100644
浏览文件 @
964580dd
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.nav.dao.UserDao"
>
<select
id=
"selectUserByPhone"
parameterType=
"String"
resultType=
"com.nav.pojo.User"
>
select *
from lotterysystem.user where phone=#{phone};
</select>
<select
id=
"getUserList"
resultType=
"com.nav.pojo.User"
>
select *
from lotterysystem.user;
</select>
<insert
id=
"insertUser"
parameterType=
"String"
>
insert into lotterysystem.user(phone,password,name,address,state,IP)
VALUES (#{phone},#{password},#{name},#{address},1,#{ip});
</insert>
<update
id=
"updateUserState"
>
update lotterysystem.user set state=0
where id=#{id}
</update>
<update
id=
"updatePassword"
>
update lotterysystem.user set password=#{password}
where id=#{id}
</update>
<select
id=
"selectUserById"
resultType=
"com.nav.pojo.User"
>
select *
from lotterysystem.user where id=#{id};
</select>
</mapper>
\ No newline at end of file