kaiyu
2021-05-21 349c49d9c6407dbfc46a33f9795647a71406dd0d
screen-manage
修改型号查询BUG,修改sql语句,改为左外连
2 files added
8 files modified
254 ■■■■ changed files
screen-manage/src/main/java/com/moral/api/controller/VersionController.java 39 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/pojo/form/version/VersionDeleteForm.java 23 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/pojo/form/version/VersionSensorUnitForm.java 27 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/pojo/vo/Version/VersionQueryVO.java 2 ●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/UserService.java 37 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/VersionService.java 22 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java 4 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java 49 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/VersionServiceImpl.java 45 ●●●● patch | view | raw | blame | history
screen-manage/src/main/resources/mapper/VersionMapper.xml 6 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/controller/VersionController.java
@@ -1,12 +1,12 @@
package com.moral.api.controller;
import com.alibaba.fastjson.JSON;
import com.moral.api.entity.Version;
import com.moral.api.entity.VersionSensorUnit;
import com.moral.api.mapper.VersionMapper;
import com.moral.api.pojo.dto.version.VersionDTO;
import com.moral.api.pojo.dto.version.VersionQueryDTO;
import com.moral.api.pojo.form.version.VersionInsertForm;
import com.moral.api.pojo.form.version.VersionQueryForm;
import com.moral.api.pojo.form.version.VersionUpdateForm;
import com.moral.api.pojo.form.version.*;
import com.moral.api.pojo.vo.Version.VersionQueryVO;
import com.moral.api.pojo.vo.Version.VersionVO;
import com.moral.api.service.VersionService;
@@ -17,8 +17,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
import java.util.*;
/**
 * @ClassName VersionController
@@ -76,4 +75,34 @@
        return new ResultMessage(dto.getCode(), dto.getMsg(), null);
    }
    @PostMapping("delete")
    public ResultMessage delete(@RequestBody VersionDeleteForm form){
        //判断是否缺少参数
        if (!form.valid())
            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
                    ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
        //处理删除业务
        VersionDTO dto = versionService.delete(form);
        return new ResultMessage(dto.getCode(), dto.getMsg(), null);
    }
    @PostMapping("updateSensorUnit")
    public ResultMessage updateSensorUnit(@RequestBody VersionSensorUnitForm form){
        //判断是否缺少参数
        if (!form.valid())
            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
                    ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
        //处理更新业务
        VersionDTO dto = versionService.updateSensorUnits(form);
        return new ResultMessage(dto.getCode(), dto.getMsg(), null);
    }
}
screen-manage/src/main/java/com/moral/api/pojo/form/version/VersionDeleteForm.java
New file
@@ -0,0 +1,23 @@
package com.moral.api.pojo.form.version;
import lombok.Data;
/**
 * @ClassName VersionDeleteForm
 * @Description TODO
 * @Author 陈凯裕
 * @Date 2021/5/20 13:16
 * @Version TODO
 **/
@Data
public class VersionDeleteForm {
    private Integer id;
    public boolean valid() {
        if (id == null || id == 0) {
            return false;
        }
        return true;
    }
}
screen-manage/src/main/java/com/moral/api/pojo/form/version/VersionSensorUnitForm.java
New file
@@ -0,0 +1,27 @@
package com.moral.api.pojo.form.version;
import com.moral.api.entity.VersionSensorUnit;
import lombok.Data;
import org.springframework.util.ObjectUtils;
import java.util.List;
/**
 * @ClassName VersionSensorUpdateForm
 * @Description TODO
 * @Author 陈凯裕
 * @Date 2021/5/21 9:30
 * @Version TODO
 **/
@Data
public class VersionSensorUnitForm {
    private List<VersionSensorUnit> sensorUnits;
    public boolean valid(){
        if(sensorUnits==null)
            return false;
        return true;
    }
}
screen-manage/src/main/java/com/moral/api/pojo/vo/Version/VersionQueryVO.java
@@ -91,7 +91,7 @@
        vo.setUnit(sensor.getUnit());
        vo.setMaxValue(sensor.getMaxValue());
        vo.setMinValue(sensor.getMinValue());
        vo.getUnitKey();
        vo.setUnitKey(sensor.getUnitKey());
        return vo;
    }
}
screen-manage/src/main/java/com/moral/api/service/UserService.java
@@ -19,14 +19,49 @@
 */
public interface UserService extends IService<User> {
    /**
    * @Description: 查询所有组织的admin用户
            * @Param: [form]
            * @return: com.moral.api.pojo.dto.user.UserQueryDTO
            * @Author: 陈凯裕
            * @Date: 2021/5/20
            */
    UserQueryDTO queryUsers(UserQueryForm form);
    /**
    * @Description: 更新组织的admin用户
            * @Param: [form]
            * @return: com.moral.api.pojo.dto.user.UserDTO
            * @Author: 陈凯裕
            * @Date: 2021/5/20
            */
    UserDTO updateUser(UserUpdateForm form);
    /**
    * @Description: 删除组织的admin用户
            * @Param: [form]
            * @return: com.moral.api.pojo.dto.user.UserDTO
            * @Author: 陈凯裕
            * @Date: 2021/5/20
            */
    UserDTO deleteUser(UserDeleteForm form);
    /**
    * @Description: 插入组织的admin用户
            * @Param: [form]
            * @return: com.moral.api.pojo.dto.user.UserDTO
            * @Author: 陈凯裕
            * @Date: 2021/5/20
            */
    UserDTO insertUser(UserInsertForm form);
    UserDTO deleteUserByOrganizationId(Integer organizationId);
    /**
    * @Description: 删除组织的时候调用,删除组织下的所有用户
            * @Param: [organizationId]
            * @return: com.moral.api.pojo.dto.user.UserDTO
            * @Author: 陈凯裕
            * @Date: 2021/5/20
            */
    UserDTO deleteUsersByOrganizationId(Integer organizationId);
}
screen-manage/src/main/java/com/moral/api/service/VersionService.java
@@ -4,9 +4,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.moral.api.pojo.dto.version.VersionDTO;
import com.moral.api.pojo.dto.version.VersionQueryDTO;
import com.moral.api.pojo.form.version.VersionInsertForm;
import com.moral.api.pojo.form.version.VersionQueryForm;
import com.moral.api.pojo.form.version.VersionUpdateForm;
import com.moral.api.pojo.form.version.*;
/**
 * <p>
@@ -45,4 +43,22 @@
            */
    VersionDTO insert(VersionInsertForm form);
    /**
    * @Description: 删除version
            * @Param: [form]
            * @return: com.moral.api.pojo.dto.version.VersionDTO
            * @Author: 陈凯裕
            * @Date: 2021/5/20
            */
    VersionDTO delete(VersionDeleteForm form);
    /**
    * @Description: 更新型号的因子和单位
            * @Param: [form]
            * @return: com.moral.api.pojo.dto.version.VersionDTO
            * @Author: 陈凯裕
            * @Date: 2021/5/21
            */
    VersionDTO updateSensorUnits(VersionSensorUnitForm form);
}
screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java
@@ -186,7 +186,7 @@
        organizationMapper.update(null, deleteWrapper);
        //删除组织账号
        userService.deleteUserByOrganizationId(id);
        userService.deleteUsersByOrganizationId(id);
        //判断是否含有子组织
        List<Organization> children = getAllChildrenOrganization(existOrganization.getId());
@@ -204,7 +204,7 @@
                updateWrapper.set("is_delete", Constants.DELETE);
                organizationMapper.update(null, updateWrapper);
                //删除所有子组织账号
                childrenId.forEach(value->userService.deleteUserByOrganizationId(value));
                childrenId.forEach(value->userService.deleteUsersByOrganizationId(value));
            } else {//不删除
                //提取所有直属子组织id
screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java
@@ -217,55 +217,37 @@
    @Override
    @Transactional
    public UserDTO deleteUser(UserDeleteForm form) {
        //创建返回对象
        UserDTO dto = new UserDTO();
        //取参
        Integer id = form.getId();
        //创建删除条件
        User user = new User();
        user.setIsDelete(Constants.NOT_DELETE);
        user.setIsDelete(Constants.DELETE);
        user.setId(id);
        //执行删除逻辑
        UserDTO dto = deleteUserModel(user);
        //删除用户
        userMapper.updateById(user);
        //删除user_group
        UpdateWrapper deleteUserGroupWrapper = new UpdateWrapper();
        deleteUserGroupWrapper.eq("user_id", id);
        deleteUserGroupWrapper.set("is_delete", Constants.DELETE);
        userGroupMapper.update(null, deleteUserGroupWrapper);
        //删除组织中admin账号字段
        UpdateWrapper updateOrgWrapper = new UpdateWrapper();
        updateOrgWrapper.eq("admin_user_id",user.getId());
        updateOrgWrapper.set("admin_user_id",0);
        organizationMapper.update(null,updateOrgWrapper);
        //封装返回对象
        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
        return dto;
    }
    @Override
    @Transactional
    public UserDTO deleteUserByOrganizationId(Integer organizationId) {
        //创建删除条件
        User user = new User();
        user.setOrganizationId(organizationId);
        //执行逻辑删除
        UserDTO dto = deleteUserModel(user);
        return dto;
    }
    private UserDTO deleteUserModel(User user) {
    public UserDTO deleteUsersByOrganizationId(Integer organizationId) {
        //创建返回对象
        UserDTO dto = new UserDTO();
        //删除条件
        Integer organizationId = null;
        //创建要删除的账号对象用于插入日志
        User oldUser = null;
        //判断对象是否含有组织id
        if (ObjectUtils.isEmpty(user.getOrganizationId())) {
            QueryWrapper<User> deleteUserWrapper = new QueryWrapper<>();
            deleteUserWrapper.setEntity(user);
            oldUser = userMapper.selectOne(deleteUserWrapper);
            if (ObjectUtils.isEmpty(user)) {
                dto.setCode(ResponseCodeEnum.USER_NOT_EXIST.getCode());
                dto.setMsg(ResponseCodeEnum.USER_NOT_EXIST.getMsg());
                return dto;
            }
            organizationId = oldUser.getOrganizationId();
        }else{
            organizationId = user.getOrganizationId();
        }
        //逻辑删除,删除账号以及该组织下的所有账号
        UpdateWrapper<User> deleteUserChildrenWrapper = new UpdateWrapper<>();
        deleteUserChildrenWrapper.eq("organization_id", organizationId);
@@ -281,7 +263,7 @@
        deleteUserGroupWrapper.eq("organization_id",organizationId);
        deleteUserGroupWrapper.set("is_delete", Constants.DELETE);
        userGroupMapper.update(null,deleteUserGroupWrapper);
        //逻辑删除,groupMenu
        //逻辑删除,group
        UpdateWrapper deleteGroupWrapper = new UpdateWrapper();
        deleteGroupWrapper.eq("organization_id",organizationId);
        deleteGroupWrapper.set("is_delete", Constants.DELETE);
@@ -291,6 +273,5 @@
        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
        return dto;
    }
}
screen-manage/src/main/java/com/moral/api/service/impl/VersionServiceImpl.java
@@ -1,6 +1,7 @@
package com.moral.api.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.User;
@@ -10,9 +11,7 @@
import com.moral.api.mapper.VersionSensorUnitMapper;
import com.moral.api.pojo.dto.version.VersionDTO;
import com.moral.api.pojo.dto.version.VersionQueryDTO;
import com.moral.api.pojo.form.version.VersionInsertForm;
import com.moral.api.pojo.form.version.VersionQueryForm;
import com.moral.api.pojo.form.version.VersionUpdateForm;
import com.moral.api.pojo.form.version.*;
import com.moral.api.service.VersionService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.constant.Constants;
@@ -24,9 +23,7 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.*;
/**
 * <p>
@@ -83,13 +80,13 @@
        //查询版本对应的因子和单位
        List<Integer> versionsIds = new ArrayList<>();
        versions.forEach(value -> versionsIds.add(value.getId()));
        List<Version> result = new ArrayList<>();
        List<Version> queryResult = new ArrayList<>();
        if (!ObjectUtils.isEmpty(versionsIds)) {
            result = versionMapper.queryVersionsAndSensorUnitByIds(versionsIds);
            queryResult = versionMapper.queryVersionsAndSensorUnitByIds(versionsIds);
        }
        //封装返回数据
        List<VersionDTO> dtos = new ArrayList<>();
        result.forEach(value -> dtos.add(new VersionDTO(value)));
        queryResult.forEach(value -> dtos.add(new VersionDTO(value)));
        dto.setVersionDTOS(dtos);
        dto.setCurrent(versionsPage.getCurrent());
        dto.setPages(versionsPage.getPages());
@@ -156,4 +153,34 @@
        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
        return dto;
    }
    @Override
    @Transactional
    public VersionDTO delete(VersionDeleteForm form) {
        //创建返回对象
        VersionDTO dto = new VersionDTO();
        //取参
        Integer id = form.getId();
        //查询要删除的版本用于记录日志
        Version oldVersion = versionMapper.selectById(id);
        //执行删除
        Version deleteVersion = new Version();
        deleteVersion.setId(oldVersion.getId());
        deleteVersion.setIsDelete(Constants.DELETE);
        versionMapper.updateById(deleteVersion);
        //删除型号和因子单位对应表
        UpdateWrapper deleteSensorUnitWrapper = new UpdateWrapper();
        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());
        return dto;
    }
    @Override
    public VersionDTO updateSensorUnits(VersionSensorUnitForm form) {
        return null;
    }
}
screen-manage/src/main/resources/mapper/VersionMapper.xml
@@ -35,15 +35,15 @@
      v.`id`,v.`name`,v.`desc`,v.`create_time`,v.`update_time`,s.`id` AS sid,s.`code` as scode,s.`name` AS sname ,u.dataKey,u.dataValue,vsu.`max_value` ,vsu.`min_value`
    FROM
      `version` v
    JOIN
    LEFT JOIN
      version_sensor_unit vsu
    ON
      v.`id` = vsu.`version_id` AND vsu.`is_delete` = 0
    JOIN
    LEFT JOIN
      sensor s
    ON
      s.`code` = vsu.`sensor_code` AND s.`is_delete` = 0
    JOIN
    LEFT JOIN
    (
      SELECT
        sdd.datakey,sdd.dataValue,sdd.is_delete