【机房报修管理系统】 后端篇(十四) Service层开发——实训室管理服务

一、前情提要


    上一次我们完成了历史工单管理服务的开发,这一次我们来实现实训室管理服务。



二、接口设计


1.获取全部机房信息:searchAllClass

  • 参数:无
  • 返回值:List<Class>

2.通过机房ID获取机房信息:searchClassById

  • 参数:id(机房ID编号,类型为Integer
  • 返回值:Class(机房的实体类)

3.通过机房名称获取机房信息:searchClassByName

  • 参数:name(机房名称,类型为String
  • 返回值:List<Class>

4.通过实训楼ID称获取机房信息:searchClassByBuildingId

  • 参数:buildingId(机房所属实训楼ID,类型为String
  • 返回值:List<Class>

5.获得全部实训室总数:getClassCount

  • 参数:无
  • 返回值:Integer

6.保存机房信息:saveClass

  • 参数:Class(实训室实体类)
  • 返回值:无

7.修改你机房信息:updateClass

  • 参数:Class(实训室实体类)
  • 返回值:无

8.删除机房信息:deleteClass

  • 参数:id(机房ID编号,类型为Integer
  • 返回值:无

9.增加实训室可用电脑:`increaseComputerEnable``

  • 参数:id(机房ID编号,类型为Integer
  • 返回值:无

10.减少实训室可用电脑:reduceComputerEnable

  • 参数:id(机房ID编号,类型为Integer
  • 返回值:无



三、实践操作


注意:我不会对所有接口进行详解,只会对一些需要注意的地方进行讲解。

1.按照上方设计的接口创建接口类ClassService

com.repairsystem.service下创界接口类ClassService

package com.repairsystem.service;

import com.repairsystem.entity.Class;

import java.util.List;

/**
 * @author CheungChingYin
 * @date 2019/1/17
 * @time 14:45
 */
public interface ClassService {

    /**
     * 获取全部机房信息
     * @return
     */
    List<Class> searchAllClass();

    /**
     * 通过机房ID获取机房信息
     * @param id
     * @return
     */
    Class searchClassById(Integer id);

    /**
     * 通过机房名称获取机房信息
     * @param name
     * @return
     */
    List<Class> searchClassByName(String name);

    /**
     * 通过实训楼ID称获取机房信息
     * @param buildingId
     * @return
     */
    List<Class> searchClassByBuildingId(String buildingId);

    Integer getClassCount();

    /**
     * 保存机房信息
     * @param classes
     */
    void saveClass(Class classes);

    /**
     * 修改你机房信息
     * @param classes
     */
    void updateClass(Class classes);

    /**
     * 删除机房信息
     * @param id
     */
    void deleteClass(Integer id);

    /**
     * 增加实训室可用电脑
     * @param id
     */
    void increaseComputerEnable(Integer id);

    /**
     * 减少实训室可用电脑
     * @param id
     */
    void reduceComputerEnable(Integer id);

}

2.创建接口实现类ClassServiceImpl

com.repairsystem.service.Impl下创建接口实现类ClassServiceImpl,重写ClassService接口。

@Service
public class ClassServiceImpl implements ClassService {

    @Autowired
    private ClassMapper classMapper;
}

3.实现增加实训室可用电脑:increaseComputerEnable

  • 参数:id(机房ID编号,类型为Integer
  • 返回值:无

这个服务主要用于当维修工单完成的时候,也就意味着损坏的电脑已经修好了,可以使用了,所以需要将记录可用电脑数+1,以保证电脑可用数的准确性。
com.repairsystem.service.Impl.ClassServiceImpl编写以下代码:

@Transactional(propagation = Propagation.REQUIRED)
    @Override
    public void increaseComputerEnable(Integer classId) {

        Class classes = classMapper.getClassById(classId);
        Integer computerEnable = classes.getComputerEnable() + 1;
        Integer computerDisable = classes.getComputerDisable() - 1;
        classes.setComputerEnable(computerEnable);
        classes.setComputerDisable(computerDisable);
        classMapper.updateByPrimaryKeySelective(classes);
    }

原理就是按照实训室ID查询该实训室的可用数和不可用数,然后可用数+1,不可用数-1,最后更新数据即可。
但是这样做相当于请求了数据库两次,是不建议的,因为当并发量大的时候数据库可能就撑不住了;建议使用自定义SQL语句的方式,进行自增和自减,这样只需要一次请求数据库即可,减少了一半的请求。

     到这里,Service层开发——实训室管理服务开发已经完成了。如果您对次篇文章有疑问,可以在文章下方留言,谢谢您的阅读。如对【机房报修管理系统】系列文章有兴趣,可以关注或收藏我的文章,您的支持是我最大的动力,我会尽快推出下一期内容,敬请期待。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
25175学校网上报修系统管理平台简介: 本套软件适合于学校、企业的网上报修系统。没有复杂的操作,普通人员都很容易上手实践。并且在软件上不需要投入很多的人力培训进行操作。 网上报修系统管理平台,采用了BS架构开发,利用.NET技术和sqlserver数据库进行系统的开发,系统是一款专业的报修管理平台。灵活调度手段可以即时进行报修,并且自动通知和。所有用户无需安装和繁琐的配置,因为我们的报修管理运行在服务器上.使用时所有要做的就是登录系统。 管理且使用好软件可以有效提高您的生产力和效率。对于学校/企业来说,时间就是金钱 - 生产率的提高,可以促使节约更多的成本。 25175学校网上报修系统管理平台说明文档 (支持手机,APP应用,ipad,web) 运行环境:IIS ASP.NET4.6 SQL2008 开发软件:VS2015 1.初次运行请先注册 http://您的网址/sysadmin/regsiter/Register.aspx 请务必填写正确信息,完成后生成注册信息,即可运行您的报修系统。 2.如果本服务器已经注册,再次注册将出现“ 服务器已经授权,不需要重复申请,若有问题请联系客服!” 3.如果需要定制,请联系我们客服。 特色重点说明: a.WEB兼容.(ie8 ,google,firefox…) b.手机兼容(苹果,安卓) c.app兼容 兼容浏览器:IE8 FireFox, Safari, Chrome and more. 软件视频:http://edu.25175.com 25175学校网上报修系统管理平台登录界面 25175学校网上报修系统管理平台后台管理 http://您的服务器地址/sysadmin/login.aspx 后台管理账号admin 密码a25175 后台页面 相关阅读 同类推荐:站长常用源码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值