后端创建比赛用户
gitee仓库代码在文章尾部
Mysql新建competiton_user表
create table competition_user
(
id int auto_increment,
competition_id int null,
user_id int null,
user_name varchar(100) not null,
user_photo varchar(1000) null,
score int default 0 null,
score1 int default 0 null,
score2 int default 0 null,
score3 int default 0 null,
score4 int default 0 null,
score5 int default 0 null,
score6 int default 0 null,
score7 int default 0 null,
score8 int default 0 null,
score9 int default 0 null,
score10 int default 0 null,
constraint competition_User_id_uindex
unique (id)
);
alter table competition_user
add primary key (id);
后端SpringBoot 创建competitionUser
pojo层
package com.OJ.backend.pojo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CompetitionUser {
@TableId(type = IdType.AUTO)
private Integer id;
private Integer competitionId;
private Integer userId;
private String userName;
private String userPhoto;
private Integer score;
private Integer score1;
private Integer score2;
private Integer score3;
private Integer score4;
private Integer score5;
private Integer score6;
private Integer score7;
private Integer score8;
private Integer score9;
private Integer score10;
}
mapper层建立
package com.OJ.backend.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.OJ.backend.pojo.CompetitionUser;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface CompetitionUserMapper extends BaseMapper<CompetitionUser> {
}
service层
add操作
package com.OJ.backend.service.competitionUser;
import java.util.Map;
public interface AddCompetitionUserService {
Map<String,String>addCompetitionUser(Map<String,String>data);
}
getList操作
package com.OJ.backend.service.competitionUser;
import com.alibaba.fastjson2.JSONObject;
import org.springframework.util.MultiValueMap;
public interface GetListCompetitionUserService {
JSONObject getListCompetitionUser(Integer page, MultiValueMap<String,String> data);
}
service层impl实现
add操作
package com.OJ.backend.service.impl.competitionUser;
import com.OJ.backend.mapper.CompetitionUserMapper;
import com.OJ.backend.pojo.CompetitionUser;
import com.OJ.backend.service.competitionUser.AddCompetitionUserService;
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 AddCompetitionUserServiceImpl implements AddCompetitionUserService {
@Autowired
private CompetitionUserMapper competitionUserMapper;
@Override
public Map<String, String> addCompetitionUser(Map<String, String> data) {
Map<String,Object>hashmap = new HashMap<>();
hashmap.put("competition_id", data.get("competition_id"));
hashmap.put("user_id", data.get("user_id"));
List<CompetitionUser> list = competitionUserMapper.selectByMap(hashmap);
Map<String, String> map = new HashMap<>();
if(list.size()>0){
map.put("error_message","已经参加比赛");
return map;
}
Integer competitionId = Integer.parseInt(data.get("competition_id"));
Integer userId = Integer.parseInt(data.get("user_id"));
CompetitionUser competitionUser = new CompetitionUser();
competitionUser.setCompetitionId(competitionId);
competitionUser.setUserId(userId);
competitionUserMapper.insert(competitionUser);
map.put("error_message","success");
return map;
}
}
getList操作
package com.OJ.backend.service.impl.competitionUser;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.OJ.backend.mapper.CompetitionUserMapper;
import com.OJ.backend.pojo.CompetitionUser;
import com.OJ.backend.service.competitionUser.GetListCompetitionUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.MultiValueMap;
import java.util.List;
@Service
public class GetListCompetitionUserServiceImpl implements GetListCompetitionUserService {
@Autowired
private CompetitionUserMapper competitionUserMapper;
@Override
public JSONObject getListCompetitionUser(Integer page, MultiValueMap<String, String> data) {
IPage<CompetitionUser> competitionUserIPage = new Page<>(page, 25);
QueryWrapper<CompetitionUser> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("competition_id",data.getFirst("competition_id")).orderByDesc("score");
List<CompetitionUser> competitionUsers = competitionUserMapper.selectPage(competitionUserIPage,queryWrapper).getRecords();
JSONObject resp = new JSONObject();
resp.put("competitionUsers",competitionUsers);
resp.put("competitionUsers_count",competitionUserMapper.selectList(queryWrapper).size());
return resp;
}
}
controller层
add操作
package com.OJ.backend.controller.competitionUser;
import com.OJ.backend.service.competitionUser.AddCompetitionUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
@RestController
public class AddCompetitionUserController {
@Autowired
private AddCompetitionUserService addCompetitionUserService;
@PostMapping("/api/competition/user/add/")
public Map<String ,String>addCompetitionUser(@RequestParam Map<String,String>data){
return addCompetitionUserService.addCompetitionUser(data);
}
}
getList操作
package com.OJ.backend.controller.competitionUser;
import com.alibaba.fastjson2.JSONObject;
import com.OJ.backend.service.competitionUser.GetListCompetitionUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Objects;
@RestController
public class GetListCompetitionUserController {
@Autowired
private GetListCompetitionUserService getListCompetitionUserService;
@GetMapping("/api/competition/user/getlist/")
public JSONObject getListCompetitionUser(@RequestParam MultiValueMap<String,String> data){
Integer page = Integer.parseInt(Objects.requireNonNull(data.getFirst("page")));
return getListCompetitionUserService.getListCompetitionUser(page,data);
}
}
完结
上传git
https://gitee.com/wanhzhaoxuan0/oj/tree/3481023c77115a6d15067f02adc28f6b62211be6/