From 879fe6b588b87e4266abf3cfbafba406fd06c34c Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Fri, 22 Jul 2022 09:51:20 +0800
Subject: [PATCH] 全景表添加农场id,一个农场对应一个全景
---
src/main/java/org/springblade/modules/panorama/service/IPanoramaService.java | 6 ++++++
src/main/java/org/springblade/modules/panorama/vo/PanoramaVO.java | 5 ++++-
src/main/java/org/springblade/modules/panorama/mapper/PanoramaMapper.xml | 13 +++++++++++--
src/main/java/org/springblade/modules/panorama/mapper/PanoramaMapper.java | 7 +++++++
src/main/java/org/springblade/modules/panorama/entity/Panorama.java | 2 +-
src/main/java/org/springblade/modules/panorama/controller/PanoramaController.java | 10 +++++++---
src/main/java/org/springblade/modules/panorama/service/impl/PanoramaServiceImpl.java | 12 ++++++++++++
7 files changed, 48 insertions(+), 7 deletions(-)
diff --git a/src/main/java/org/springblade/modules/panorama/controller/PanoramaController.java b/src/main/java/org/springblade/modules/panorama/controller/PanoramaController.java
index 40c9430..333a106 100644
--- a/src/main/java/org/springblade/modules/panorama/controller/PanoramaController.java
+++ b/src/main/java/org/springblade/modules/panorama/controller/PanoramaController.java
@@ -89,7 +89,11 @@
@ApiOperationSupport(order = 4)
@ApiOperation(value = "新增", notes = "传入panorama")
public R save(@Valid @RequestBody Panorama panorama) {
- return R.status(panoramaService.save(panorama));
+ if(panoramaService.selectOne(panorama.getFarmId())) {
+ return R.status(panoramaService.save(panorama));
+ }else {
+ return R.fail("该农场全景已存在");
+ }
}
/**
@@ -112,7 +116,7 @@
return R.status(panoramaService.saveOrUpdate(panorama));
}
-
+
/**
* 删除 全景
*/
@@ -123,5 +127,5 @@
return R.status(panoramaService.deleteLogic(Func.toLongList(ids)));
}
-
+
}
diff --git a/src/main/java/org/springblade/modules/panorama/entity/Panorama.java b/src/main/java/org/springblade/modules/panorama/entity/Panorama.java
index f9599a6..1d76741 100644
--- a/src/main/java/org/springblade/modules/panorama/entity/Panorama.java
+++ b/src/main/java/org/springblade/modules/panorama/entity/Panorama.java
@@ -40,6 +40,6 @@
private String jd;
private String wd;
private String addressName;
-
+ private int farmId;
}
diff --git a/src/main/java/org/springblade/modules/panorama/mapper/PanoramaMapper.java b/src/main/java/org/springblade/modules/panorama/mapper/PanoramaMapper.java
index 0e13b98..d04b132 100644
--- a/src/main/java/org/springblade/modules/panorama/mapper/PanoramaMapper.java
+++ b/src/main/java/org/springblade/modules/panorama/mapper/PanoramaMapper.java
@@ -16,6 +16,7 @@
*/
package org.springblade.modules.panorama.mapper;
+import org.apache.ibatis.annotations.Param;
import org.springblade.modules.panorama.entity.Panorama;
import org.springblade.modules.panorama.vo.PanoramaVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -39,4 +40,10 @@
*/
List<PanoramaVO> selectPanoramaPage(IPage page, PanoramaVO panorama);
+ /**
+ * 判断是否存在相同农场
+ * @param farmId
+ * @return
+ */
+ List<Panorama> getFarmList(@Param("farmId") int farmId);
}
diff --git a/src/main/java/org/springblade/modules/panorama/mapper/PanoramaMapper.xml b/src/main/java/org/springblade/modules/panorama/mapper/PanoramaMapper.xml
index 9725c46..fc2f7c2 100644
--- a/src/main/java/org/springblade/modules/panorama/mapper/PanoramaMapper.xml
+++ b/src/main/java/org/springblade/modules/panorama/mapper/PanoramaMapper.xml
@@ -3,7 +3,7 @@
<mapper namespace="org.springblade.modules.panorama.mapper.PanoramaMapper">
<!-- 通用查询映射结果 -->
- <resultMap id="panoramaResultMap" type="org.springblade.modules.panorama.entity.Panorama">
+ <resultMap id="panoramaResultMap" type="org.springblade.modules.panorama.vo.PanoramaVO">
<result column="id" property="id"/>
<result column="create_user" property="createUser"/>
<result column="create_dept" property="createDept"/>
@@ -17,11 +17,20 @@
<result column="jd" property="jd"/>
<result column="wd" property="wd"/>
<result column="address_name" property="addressName"/>
+ <result column="farm_name" property="farmName"/>
+ <result column="farm_id" property="farmId"/>
</resultMap>
<select id="selectPanoramaPage" resultMap="panoramaResultMap">
- select * from sys_panorama where is_deleted = 0
+ select panorama.*,farm.farm_name
+ from sys_panorama panorama
+ LEFT JOIN sys_farm farm ON panorama.farm_id = farm.id
+ where is_deleted = 0
+ </select>
+
+ <select id="getFarmList" resultType="org.springblade.modules.panorama.entity.Panorama">
+ select * from sys_panorama where farm_id = #{farmId}
</select>
</mapper>
diff --git a/src/main/java/org/springblade/modules/panorama/service/IPanoramaService.java b/src/main/java/org/springblade/modules/panorama/service/IPanoramaService.java
index 6753ca6..e42bae5 100644
--- a/src/main/java/org/springblade/modules/panorama/service/IPanoramaService.java
+++ b/src/main/java/org/springblade/modules/panorama/service/IPanoramaService.java
@@ -38,4 +38,10 @@
*/
IPage<PanoramaVO> selectPanoramaPage(IPage<PanoramaVO> page, PanoramaVO panorama);
+ /**
+ * 判断是否存在相同农场
+ * @param farmId
+ * @return
+ */
+ boolean selectOne(int farmId);
}
diff --git a/src/main/java/org/springblade/modules/panorama/service/impl/PanoramaServiceImpl.java b/src/main/java/org/springblade/modules/panorama/service/impl/PanoramaServiceImpl.java
index 0f280a8..820913e 100644
--- a/src/main/java/org/springblade/modules/panorama/service/impl/PanoramaServiceImpl.java
+++ b/src/main/java/org/springblade/modules/panorama/service/impl/PanoramaServiceImpl.java
@@ -24,6 +24,8 @@
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
/**
* 全景 服务实现类
*
@@ -38,4 +40,14 @@
return page.setRecords(baseMapper.selectPanoramaPage(page, panorama));
}
+ @Override
+ public boolean selectOne(int farmId) {
+ List<Panorama> list = baseMapper.getFarmList(farmId);
+ if (list.size()>0){
+ return false;
+ }else {
+ return true;
+ }
+ }
+
}
diff --git a/src/main/java/org/springblade/modules/panorama/vo/PanoramaVO.java b/src/main/java/org/springblade/modules/panorama/vo/PanoramaVO.java
index 491a8f1..de94f1b 100644
--- a/src/main/java/org/springblade/modules/panorama/vo/PanoramaVO.java
+++ b/src/main/java/org/springblade/modules/panorama/vo/PanoramaVO.java
@@ -30,5 +30,8 @@
@EqualsAndHashCode(callSuper = true)
public class PanoramaVO extends Panorama {
private static final long serialVersionUID = 1L;
-
+ /**
+ * 农场名称
+ */
+ String farmName;
}
--
Gitblit v1.9.3