提交 26a8b2dc 编写于 作者: IIIllI's avatar IIIllI

开奖

上级 2baf98c5
......@@ -3,11 +3,15 @@ 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.*;
......@@ -15,13 +19,18 @@ 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.*;
@RestController
@RequestMapping("/activity")
public class ActivityController {
@Autowired
SchedulerFactoryBean schedulerFactoryBean;
@Autowired
ParticipantService participantService;
@Autowired
ActivityService activityService;
......@@ -39,8 +48,8 @@ public class ActivityController {
//接收前端传递的json数据
@PostMapping("/addActivity")
public Object addActivity(@RequestBody Map<String,Object> activity) throws ParseException {
Activity activity1=new Activity();
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"));
......@@ -50,12 +59,13 @@ public class ActivityController {
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.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.setUserId(((Integer) activity.get("userId")).longValue());
activity1.setName((String) activity.get("name"));
activityService.addActivity(activity1);
// JSONObject activity_json = param.getJSONObject("activity");
// Activity activity=(Activity) JSONObject.toJavaObject(activity_json,Activity.class);
// activityService.addActivity(activity);
......@@ -65,7 +75,7 @@ public class ActivityController {
@RequestMapping("/updateActivity")
public Object updateActivity(@RequestBody JSONObject param) {
JSONObject activity_json = param.getJSONObject("activity");
Activity activity=(Activity) JSONObject.toJavaObject(activity_json,Activity.class);
Activity activity = (Activity) JSONObject.toJavaObject(activity_json, Activity.class);
activityService.updateActivity(activity);
return null;
}
......@@ -77,24 +87,27 @@ public class ActivityController {
}
//开奖
@RequestMapping("/luckdraw")
public List<Participant> luckdraw(List<Participant> participants,int id){
Collections.shuffle(participants);
List<Participant> luckyUsers = participants.subList(0,activityService.getActivityByUserId(id).getLimit());
int i=0;
while(i<activityService.getActivityByUserId(id).getLimit()){
if(i<activityService.getActivityByUserId(id).getFirstCount())
luckyUsers.get(i).setState(1);
if(i>=activityService.getActivityByUserId(id).getFirstCount()&&i<activityService.getActivityByUserId(id).getSecondCount())
luckyUsers.get(i).setState(2);
if(i>=activityService.getActivityByUserId(id).getSecondCount()&&i<activityService.getActivityByUserId(id).getThirdCount())
luckyUsers.get(i).setState(3);
@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 luckyUsers;
}
return participantService.selectAwardList(id);
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册