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}