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