kaiyu
2021-06-11 9399e9c32280d4d63bef0bb52b66e002c48eca17
screen-manage
通过型号id查询因子增加分页功能
1 files added
3 files modified
88 ■■■■ changed files
screen-manage/src/main/java/com/moral/api/controller/VersionController.java 11 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/pojo/form/version/VersionQueryByIdForm.java 29 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/VersionService.java 4 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/VersionServiceImpl.java 44 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/controller/VersionController.java
@@ -108,9 +108,16 @@
    @GetMapping("queryById")
    public ResultMessage queryById(Integer id){
        VersionDTO dto = versionService.queryVersionById(id);
    public ResultMessage queryById(VersionQueryByIdForm form){
        //判断是否缺少参数
        if (!form.valid())
            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
                    ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
        VersionDTO dto = versionService.queryVersionById(form);
        VersionVO vo = VersionVO.convert(dto);
        return new ResultMessage(dto.getCode(), dto.getMsg(), vo);
    }
screen-manage/src/main/java/com/moral/api/pojo/form/version/VersionQueryByIdForm.java
New file
@@ -0,0 +1,29 @@
package com.moral.api.pojo.form.version;
import lombok.Data;
import org.springframework.util.ObjectUtils;
/**
 * @ClassName VersionQueryByIdForm
 * @Description TODO
 * @Author 陈凯裕
 * @Date 2021/6/11 9:49
 * @Version TODO
 **/
@Data
public class VersionQueryByIdForm {
    private Integer id;
    private Integer page;
    private Integer size;
    public boolean valid(){
        if(ObjectUtils.isEmpty(id)||
                ObjectUtils.isEmpty(page)||
                ObjectUtils.isEmpty(size))
            return false;
        return true;
    }
}
screen-manage/src/main/java/com/moral/api/service/VersionService.java
@@ -64,11 +64,11 @@
    /**
    * @Description: 根据型号id查询对应的因子
            * @Param: [id]
            * @Param: [form]
            * @return: com.moral.api.pojo.dto.version.VersionDTO
            * @Author: 陈凯裕
            * @Date: 2021/6/9
            */
    VersionDTO queryVersionById(Integer id);
    VersionDTO queryVersionById(VersionQueryByIdForm form);
}
screen-manage/src/main/java/com/moral/api/service/impl/VersionServiceImpl.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.moral.api.config.mybatis.wrapper.NullFilterWrapper;
import com.moral.api.entity.Sensor;
import com.moral.api.entity.User;
import com.moral.api.entity.Version;
import com.moral.api.entity.VersionSensorUnit;
@@ -141,7 +142,7 @@
        QueryWrapper<Version> wrapper = new QueryWrapper<>();
        wrapper.setEntity(existVersion);
        Version existVersionResult = versionMapper.selectOne(wrapper);
        if(!ObjectUtils.isEmpty(existVersionResult)){
        if (!ObjectUtils.isEmpty(existVersionResult)) {
            dto.setCode(ResponseCodeEnum.VERSION_EXIST.getCode());
            dto.setMsg(ResponseCodeEnum.VERSION_EXIST.getMsg());
            return dto;
@@ -170,9 +171,9 @@
        versionMapper.updateById(deleteVersion);
        //删除型号和因子单位对应表
        UpdateWrapper deleteSensorUnitWrapper = new UpdateWrapper();
        deleteSensorUnitWrapper.eq("version_id",id);
        deleteSensorUnitWrapper.set("is_delete",Constants.DELETE);
        versionSensorUnitMapper.update(null,deleteSensorUnitWrapper);
        deleteSensorUnitWrapper.eq("version_id", id);
        deleteSensorUnitWrapper.set("is_delete", Constants.DELETE);
        versionSensorUnitMapper.update(null, deleteSensorUnitWrapper);
        //封装返回结果
        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
@@ -189,9 +190,9 @@
        Integer versionId = form.getVersionId();
        //删除之前分配的单位和因子
        UpdateWrapper deleteWrapper = new UpdateWrapper();
        deleteWrapper.eq("version_id",versionId);
        deleteWrapper.set("is_delete",Constants.DELETE);
        versionSensorUnitMapper.update(null,deleteWrapper);
        deleteWrapper.eq("version_id", versionId);
        deleteWrapper.set("is_delete", Constants.DELETE);
        versionSensorUnitMapper.update(null, deleteWrapper);
        //添加新分配的单位和因子
        for (VersionSensorUnit sensorUnit : sensorUnits) {
            sensorUnit.setVersionId(versionId);
@@ -204,18 +205,39 @@
    }
    @Override
    public VersionDTO queryVersionById(Integer id) {
    public VersionDTO queryVersionById(VersionQueryByIdForm form) {
        //创建返回对象
        VersionDTO dto = new VersionDTO();
        //取参
        Integer id = form.getId();
        Integer size = form.getSize();
        Integer page = form.getPage();
        //查询版本对应的因子和单位
        List<Integer> versionsIds = new ArrayList<>();
        versionsIds.add(id);
        List<Version> version = new ArrayList<>();
        version = versionMapper.queryVersionsAndSensorUnitByIds(versionsIds);
        List<Version> versions = new ArrayList<>();
        versions = versionMapper.queryVersionsAndSensorUnitByIds(versionsIds);
        //根据分页信息进行选择因子
        Version version = versions.get(0);
        List<Sensor> querySensors = version.getSensors();
        if (!ObjectUtils.isEmpty(querySensors)) {
            int startIndex = (page - 1) * size;
            int endIndex = startIndex + size - 1;
            List<Sensor> resultSensors = new ArrayList<>();
            for (int i = startIndex; i <= endIndex; i++) {
                if (i >= querySensors.size())
                    break;
                resultSensors.add(querySensors.get(i));
            }
            version.setSensors(resultSensors);
        }
        //封装返回对象
        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
        dto.setVersion(version.get(0));
        dto.setVersion(version);
        return dto;
    }
}