- 前言
- 任务目标
- 我的任务
- 工作内容
- 代码
项目仓库
本项目是为开发一套容器化的开发、运行、测试环境,用以支持Web开发、程序设计等课程的实验教学。
任务目标实现通知的新建,查询,更新功能。
我的任务Mapper层编写sql,操作数据库,建立通知的Service和controller层,编写通知的新建,查询,更新接口。
工作内容建立Lab表,设计对应操作API
代码实体类
Lab.java
@AllArgsConstructor
@NoArgsConstructor
@Data
public class Lab {
private Integer id;
private Integer organizationId;
private Integer founderId;
private String name;
private String description;
private String beginTime;
private String endTime;
private Integer status;
private Date createTime;
private Date lastModifyTime;
}
LabMapper.xml
insert into lab(id, organization_id, founder_id, name, description, status, begin_time, end_time) values (#{id}, #{organizationId}, #{founderId}, #{name}, #{description}, #{status}, #{beginTime}, #{endTime}) update lab set id = #{id}, organization_id = #{organizationId}, founder_id = #{founderId}, name = #{name}, description = #{description}, begin_time = #{beginTime}, end_time = #{endTime} where id=#{id} and status=0
LabServiceImpl.java
@Service
public class LabServiceImpl implements LabService {
@Autowired
LabMapper labMapper;
@Override
public void createLab(Lab lab) {
labMapper.addLab(lab);
}
@Override
public Lab getLabById(int id) {
return labMapper.getLabById(id);
}
@Override
public void removeLab(int id) {
labMapper.deleteLab(id);
labMapper.deleteProjectFromLabByLabId(id);
}
@Override
public void updateLab(Lab lab) {
labMapper.setLab(lab);
}
@Override
public List getProjectList(int labId) {
List list = labMapper.getProjectList(labId);
return list;
}
@Override
public List getOrgLabList(int orgId) {
List list = labMapper.getOrgLabList(orgId);
return list;
}
@Override
public List getUserProjectList(int userId, int labId) {
List list = labMapper.getUserProjectList(userId, labId);
return list;
}
@Override
public void addProjectIntoLab(int labId, int projectId) {
labMapper.addProjectIntoLab(labId, projectId);
}
}
LabController.java
@RestController
@RequestMapping("/lab")
@Slf4j
public class LabController {
@Autowired
private LabService labService;
@Autowired
private OrganizationService organizationService;
@PostMapping(value = "/createLab")
public ResultEntity createLab(int organizationId, String name, String desc, String beginTime, String endTime) throws Exception {
if(organizationService.getOrgById(organizationId)==null)
return ResultEntity.error("Organization not found",null);
Integer founderId = UserUtil.getCurrentUser().getId();
Lab lab = new Lab(null, organizationId, founderId, name ,desc, beginTime, endTime, 0, null, null);
lab.setId(Integer.parseInt(UserUtil.getVerifyCode(6)));
labService.createLab(lab);
return ResultEntity.success(lab);
}
@PostMapping(value = "/updateLab")
public ResultEntity updateLab(int id, String name, String desc, String beginTime, String endTime) {
if(labService.getLabById(id)==null)
return ResultEntity.error("Lab not found",null);
Lab lab = labService.getLabById(id);
if(organizationService.getOrgById(lab.getOrganizationId())==null)
return ResultEntity.error("Organization not found",null);
lab.setName(name);
lab.setDescription(desc);
lab.setBeginTime(beginTime);
lab.setEndTime(endTime);
labService.updateLab(lab);
return ResultEntity.success(lab);
}
@PostMapping(value = "/getLabById")
public ResultEntity getLabById(int id) {
Lab lab = labService.getLabById(id);
if(lab==null)
return ResultEntity.error("Lab not found",null);
if(organizationService.getOrgById(lab.getOrganizationId())==null)
return ResultEntity.error("Organization not found",null);
return ResultEntity.success(lab);
}
@PostMapping(value = "/getProjectList")
public ResultEntity getProjectList(int labId) {
if(labService.getLabById(labId)==null)
return ResultEntity.error("Lab not found",null);
if(organizationService.getOrgById(labService.getLabById(labId).getOrganizationId())==null)
return ResultEntity.error("Organization not found",null);
List list = labService.getProjectList(labId);
return ResultEntity.success(list);
}
@PostMapping(value = "/getUserProjectList")
public ResultEntity getUserProjectList(int userId, int labId) {
if(labService.getLabById(labId)==null)
return ResultEntity.error("Lab not found",null);
if(organizationService.getOrgById(labService.getLabById(labId).getOrganizationId())==null)
return ResultEntity.error("Organization not found",null);
List list = labService.getUserProjectList(userId,labId);
return ResultEntity.success(list);
}
@PostMapping(value = "/getOrgLabList")
public ResultEntity getOrgLabList(int orgId) {
if(organizationService.getOrgById(orgId)==null)
return ResultEntity.error("Organization not found",null);
List list = labService.getOrgLabList(orgId);
return ResultEntity.success(list);
}
@PostMapping(value = "/deleteLab")
public ResultEntity deleteLab(int id) {
if(labService.getLabById(id)==null)
return ResultEntity.error("Lab not found",null);
if(organizationService.getOrgById(labService.getLabById(id).getOrganizationId())==null)
return ResultEntity.error("Organization not found",null);
labService.removeLab(id);
return ResultEntity.success();
}
@PostMapping(value = "/addProjectIntoLab")
public ResultEntity addProjectIntoLab(int labId, int projectId) {
if(labService.getLabById(labId)==null)
return ResultEntity.error("Lab not found",null);
if(organizationService.getOrgById(labService.getLabById(labId).getOrganizationId())==null)
return ResultEntity.error("Organization not found",null);
labService.addProjectIntoLab(labId, projectId);
return ResultEntity.success();
}
}



