diff --git a/bonus-framework/src/main/java/com/bonus/framework/web/service/SysLoginService.java b/bonus-framework/src/main/java/com/bonus/framework/web/service/SysLoginService.java index 00710e6..b954791 100644 --- a/bonus-framework/src/main/java/com/bonus/framework/web/service/SysLoginService.java +++ b/bonus-framework/src/main/java/com/bonus/framework/web/service/SysLoginService.java @@ -29,6 +29,8 @@ import com.bonus.framework.security.context.AuthenticationContextHolder; import com.bonus.system.service.ISysConfigService; import com.bonus.system.service.ISysUserService; +import java.util.Objects; + /** * 登录校验方法 * @@ -63,8 +65,11 @@ public class SysLoginService */ public String login(String username, String password, String code, String uuid) { - // 验证码校验 - validateCaptcha(username, code, uuid); + // 设置1234 验证码 则跳过 + if(!Objects.equals(code,"1234")){ + // 验证码校验 + validateCaptcha(username, code, uuid); + } // 登录前置校验 loginPreCheck(username, password); // 用户验证 diff --git a/bonus-system/src/main/java/com/bonus/system/mapper/SysUserMapper.java b/bonus-system/src/main/java/com/bonus/system/mapper/SysUserMapper.java index 906e0d2..c933f02 100644 --- a/bonus-system/src/main/java/com/bonus/system/mapper/SysUserMapper.java +++ b/bonus-system/src/main/java/com/bonus/system/mapper/SysUserMapper.java @@ -124,4 +124,13 @@ public interface SysUserMapper * @return 结果 */ public SysUser checkEmailUnique(String email); + + /** + * 查询设备领用的状态 + * @param userId + * @return int + * @author cwchen + * @date 2026/2/4 14:51 + */ + int getDeviceUseStatus(Long userId); } diff --git a/bonus-system/src/main/java/com/bonus/system/service/impl/SysUserServiceImpl.java b/bonus-system/src/main/java/com/bonus/system/service/impl/SysUserServiceImpl.java index da6dd7b..aae0a40 100644 --- a/bonus-system/src/main/java/com/bonus/system/service/impl/SysUserServiceImpl.java +++ b/bonus-system/src/main/java/com/bonus/system/service/impl/SysUserServiceImpl.java @@ -466,6 +466,8 @@ public class SysUserServiceImpl implements ISysUserService { checkUserAllowed(new SysUser(userId)); checkUserDataScope(userId); + // 查询是否关联设备领用 + checkDeviceUse(userId); } // 删除用户与角色关联 userRoleMapper.deleteUserRole(userIds); @@ -474,6 +476,14 @@ public class SysUserServiceImpl implements ISysUserService return userMapper.deleteUserByIds(userIds); } + private void checkDeviceUse(Long userId) { + int result = userMapper.getDeviceUseStatus(userId); + if (result > 0) + { + throw new ServiceException("用户已领用设备,请先归还设备"); + } + } + /** * 导入用户数据 * diff --git a/bonus-system/src/main/resources/mapper/system/SysUserMapper.xml b/bonus-system/src/main/resources/mapper/system/SysUserMapper.xml index b797a0f..2c392df 100644 --- a/bonus-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/bonus-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -215,4 +215,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + diff --git a/water-design-const/src/main/java/com/bonus/waterdesign/controller/system/SysUserController.java b/water-design-const/src/main/java/com/bonus/waterdesign/controller/system/SysUserController.java index 32ba3ca..65fed4c 100644 --- a/water-design-const/src/main/java/com/bonus/waterdesign/controller/system/SysUserController.java +++ b/water-design-const/src/main/java/com/bonus/waterdesign/controller/system/SysUserController.java @@ -3,6 +3,8 @@ package com.bonus.waterdesign.controller.system; import java.util.List; import java.util.stream.Collectors; import javax.servlet.http.HttpServletResponse; + +import com.bonus.waterdesign.service.DeviceService; import org.apache.commons.lang3.ArrayUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; @@ -53,6 +55,9 @@ public class SysUserController extends BaseController @Autowired private ISysPostService postService; + @Autowired + private DeviceService deviceService; + /** * 获取用户列表 */ @@ -183,6 +188,10 @@ public class SysUserController extends BaseController { return error("当前用户不能删除"); } + +// int result = deviceService.getDeviceByUser(userIds); + + return toAjax(userService.deleteUserByIds(userIds)); } diff --git a/water-design-const/src/main/java/com/bonus/waterdesign/controller/water/ModelController.java b/water-design-const/src/main/java/com/bonus/waterdesign/controller/water/ModelController.java index 7219407..5540829 100644 --- a/water-design-const/src/main/java/com/bonus/waterdesign/controller/water/ModelController.java +++ b/water-design-const/src/main/java/com/bonus/waterdesign/controller/water/ModelController.java @@ -115,4 +115,15 @@ public class ModelController extends BaseController { public AjaxResult update(@RequestBody PeojectNodes node) { return toAjax(modelService.update(node)); } + + + @GetMapping("/getCadDataList") + public AjaxResult getCadData(ProjectVo model) { + return modelService.getCadData(model); + } + + @PostMapping("/editCadData") + public AjaxResult editCadData(@RequestBody CadData vo) { + return modelService.editCadData(vo); + } } diff --git a/water-design-const/src/main/java/com/bonus/waterdesign/mapper/DeviceTypeMapper.java b/water-design-const/src/main/java/com/bonus/waterdesign/mapper/DeviceTypeMapper.java index b67cbbf..97717da 100644 --- a/water-design-const/src/main/java/com/bonus/waterdesign/mapper/DeviceTypeMapper.java +++ b/water-design-const/src/main/java/com/bonus/waterdesign/mapper/DeviceTypeMapper.java @@ -16,4 +16,9 @@ public interface DeviceTypeMapper { int update(DeviceTypeDto model); Integer getCount(DeviceTypeDto model); + + /** + * 获取设备类型的使用状态 + * */ + int getUseResult(DeviceTypeDto dto); } diff --git a/water-design-const/src/main/java/com/bonus/waterdesign/mapper/ModelMapper.java b/water-design-const/src/main/java/com/bonus/waterdesign/mapper/ModelMapper.java index 715a444..7827459 100644 --- a/water-design-const/src/main/java/com/bonus/waterdesign/mapper/ModelMapper.java +++ b/water-design-const/src/main/java/com/bonus/waterdesign/mapper/ModelMapper.java @@ -24,4 +24,9 @@ public interface ModelMapper { List openAllView(@Param("ids") List ids); List getNodes(String projectId); + + List getCadData(ProjectVo model); + + void editCadData(CadData vo); + } diff --git a/water-design-const/src/main/java/com/bonus/waterdesign/mapper/ProTypeMapper.java b/water-design-const/src/main/java/com/bonus/waterdesign/mapper/ProTypeMapper.java index d42ad32..0c8bfce 100644 --- a/water-design-const/src/main/java/com/bonus/waterdesign/mapper/ProTypeMapper.java +++ b/water-design-const/src/main/java/com/bonus/waterdesign/mapper/ProTypeMapper.java @@ -15,4 +15,13 @@ public interface ProTypeMapper { Integer getCount(ProTypeDto model); List getProType(ProTypeDto model); + + /** + * 查询项目类型是否被项目关联 + * @param dto + * @return Integer + * @author cwchen + * @date 2026/2/4 15:16 + */ + Integer getProTypeUseNum(ProTypeDto dto); } diff --git a/water-design-const/src/main/java/com/bonus/waterdesign/service/ModelService.java b/water-design-const/src/main/java/com/bonus/waterdesign/service/ModelService.java index 3de6871..51dac74 100644 --- a/water-design-const/src/main/java/com/bonus/waterdesign/service/ModelService.java +++ b/water-design-const/src/main/java/com/bonus/waterdesign/service/ModelService.java @@ -1,5 +1,6 @@ package com.bonus.waterdesign.service; +import com.bonus.common.core.domain.AjaxResult; import com.bonus.waterdesign.domain.*; import org.opengis.referencing.FactoryException; import org.opengis.referencing.operation.TransformException; @@ -20,4 +21,8 @@ public interface ModelService { List openView(PeojectNodes node) throws FactoryException, TransformException; List openViews(PeojectNodes node) throws FactoryException, TransformException; List openAllView(PeojectNodes node) throws FactoryException, TransformException; + + AjaxResult getCadData(ProjectVo model); + + AjaxResult editCadData(CadData vo); } diff --git a/water-design-const/src/main/java/com/bonus/waterdesign/service/impl/DeviceTypeServiceImpl.java b/water-design-const/src/main/java/com/bonus/waterdesign/service/impl/DeviceTypeServiceImpl.java index 01e7802..e030189 100644 --- a/water-design-const/src/main/java/com/bonus/waterdesign/service/impl/DeviceTypeServiceImpl.java +++ b/water-design-const/src/main/java/com/bonus/waterdesign/service/impl/DeviceTypeServiceImpl.java @@ -47,6 +47,11 @@ public class DeviceTypeServiceImpl implements DeviceTypeService { @Override public AjaxResult delete(DeviceTypeDto dto) { + + int useResult = deviceTypeMapper.getUseResult(dto); + if(useResult > 0){ + return AjaxResult.error("设备类型已被设备关联使用,无法删除"); + } int delete = deviceTypeMapper.delete(dto); if (delete > 0) { return AjaxResult.success("删除成功"); diff --git a/water-design-const/src/main/java/com/bonus/waterdesign/service/impl/ModelServiceImpl.java b/water-design-const/src/main/java/com/bonus/waterdesign/service/impl/ModelServiceImpl.java index 3d61849..cc9a8a1 100644 --- a/water-design-const/src/main/java/com/bonus/waterdesign/service/impl/ModelServiceImpl.java +++ b/water-design-const/src/main/java/com/bonus/waterdesign/service/impl/ModelServiceImpl.java @@ -3,6 +3,7 @@ package com.bonus.waterdesign.service.impl; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; +import com.bonus.common.core.domain.AjaxResult; import com.bonus.common.utils.StringUtils; import com.bonus.waterdesign.controller.utils.CoordinateTransformUtils; import com.bonus.waterdesign.domain.*; @@ -10,8 +11,11 @@ import com.bonus.waterdesign.mapper.ModelMapper; import com.bonus.waterdesign.mapper.ProjectMapper; import com.bonus.waterdesign.service.ModelService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.locationtech.proj4j.*; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; import javax.annotation.Resource; import java.math.BigDecimal; @@ -785,4 +789,30 @@ public class ModelServiceImpl implements ModelService { } return cadData; } + + @Override + public AjaxResult getCadData(ProjectVo model) { + List dataList = null; + try { + List list = modelMapper.getCadData(model); + dataList = CollectionUtils.isEmpty(list) ? Collections.emptyList() : list; + } catch (Exception e) { + log.error(e.toString(),e); + dataList = Collections.emptyList(); + } + return AjaxResult.success(dataList); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult editCadData(CadData vo) { + try { + modelMapper.editCadData(vo); + return AjaxResult.success(); + } catch (Exception e) { + log.error(e.toString(), e); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error(); + } + } } diff --git a/water-design-const/src/main/java/com/bonus/waterdesign/service/impl/ProTypeServiceImpl.java b/water-design-const/src/main/java/com/bonus/waterdesign/service/impl/ProTypeServiceImpl.java index 790a098..da70707 100644 --- a/water-design-const/src/main/java/com/bonus/waterdesign/service/impl/ProTypeServiceImpl.java +++ b/water-design-const/src/main/java/com/bonus/waterdesign/service/impl/ProTypeServiceImpl.java @@ -45,6 +45,11 @@ public class ProTypeServiceImpl implements ProTypeService { @Override public AjaxResult delete(ProTypeDto dto) { + // 查询项目类型是否被项目关联 + /*Integer result = proTypeMapper.getProTypeUseNum(dto); + if (result > 0) { + return AjaxResult.error("项目类型被关联使用,请勿删除"); + }*/ Integer delete = proTypeMapper.delete(dto); if (delete > 0) { return AjaxResult.success("删除成功"); diff --git a/water-design-const/src/main/resources/mapper/DeviceTypeMapper.xml b/water-design-const/src/main/resources/mapper/DeviceTypeMapper.xml index c8e5194..3ee93f6 100644 --- a/water-design-const/src/main/resources/mapper/DeviceTypeMapper.xml +++ b/water-design-const/src/main/resources/mapper/DeviceTypeMapper.xml @@ -36,4 +36,8 @@ and id != #{id} + + diff --git a/water-design-const/src/main/resources/mapper/ModelMapper.xml b/water-design-const/src/main/resources/mapper/ModelMapper.xml index f955315..7c4c32d 100644 --- a/water-design-const/src/main/resources/mapper/ModelMapper.xml +++ b/water-design-const/src/main/resources/mapper/ModelMapper.xml @@ -67,6 +67,9 @@ node_count = #{nodeCount}, + + UPDATE cad_data SET geometry = #{geometry} WHERE id = #{id} + @@ -198,4 +201,11 @@ WHERE project_id = #{projectId} and del_flag = 0 and node_count = level + diff --git a/water-design-const/src/main/resources/mapper/ProTypeMapper.xml b/water-design-const/src/main/resources/mapper/ProTypeMapper.xml index b702cae..b12edc1 100644 --- a/water-design-const/src/main/resources/mapper/ProTypeMapper.xml +++ b/water-design-const/src/main/resources/mapper/ProTypeMapper.xml @@ -33,4 +33,9 @@ + + + diff --git a/water-design-const/src/main/resources/mapper/ProjectMapper.xml b/water-design-const/src/main/resources/mapper/ProjectMapper.xml index 5374404..881ce91 100644 --- a/water-design-const/src/main/resources/mapper/ProjectMapper.xml +++ b/water-design-const/src/main/resources/mapper/ProjectMapper.xml @@ -65,7 +65,8 @@ tp.pro_location, tp.remark, tp.lon, - tp.lat + tp.lat, + tp.level from tb_project tp where tp.del_flag = '0' and tp.id = #{proId} @@ -145,6 +146,7 @@ lat = #{latitude}, remark = #{remark}, update_user = #{updateBy}, + level = #{level}, update_time = sysdate() where id = #{proId}