From 399d6f4179d6c013c585e07fe9b5cc35e6897944 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Tue, 10 May 2022 11:41:09 +0800
Subject: [PATCH] 新增农场基本接口

---
 src/main/java/org/springblade/modules/farm/mapper/FarmMapper.xml             |   10 +
 src/main/java/org/springblade/modules/farm/service/FarmService.java          |   26 +++
 src/main/java/org/springblade/modules/farm/controller/FarmController.java    |  121 +++++++++++++++
 src/main/java/org/springblade/modules/develop/mapper/FarmMapper.xml          |    0 
 src/test/java/org/springblade/test/BladeTest.java                            |   92 +++++-----
 src/main/java/org/springblade/modules/desk/mapper/FarmMapper.xml             |    0 
 src/main/java/org/springblade/modules/farm/service/impl/FarmServiceImpl.java |   45 +++++
 src/main/java/org/springblade/modules/farm/entity/Farm.java                  |   80 ++++++++++
 src/main/resources/application-test.yml                                      |    6 
 src/main/java/org/springblade/modules/farm/mapper/FarmMapper.java            |   42 +++++
 src/main/java/org/springblade/modules/farm/vo/FarmVO.java                    |   29 +++
 src/main/resources/application.yml                                           |    2 
 12 files changed, 403 insertions(+), 50 deletions(-)

diff --git a/src/main/java/org/springblade/modules/desk/mapper/NoticeMapper.xml b/src/main/java/org/springblade/modules/desk/mapper/FarmMapper.xml
similarity index 100%
rename from src/main/java/org/springblade/modules/desk/mapper/NoticeMapper.xml
rename to src/main/java/org/springblade/modules/desk/mapper/FarmMapper.xml
diff --git a/src/main/java/org/springblade/modules/develop/mapper/DatasourceMapper.xml b/src/main/java/org/springblade/modules/develop/mapper/FarmMapper.xml
similarity index 100%
rename from src/main/java/org/springblade/modules/develop/mapper/DatasourceMapper.xml
rename to src/main/java/org/springblade/modules/develop/mapper/FarmMapper.xml
diff --git a/src/main/java/org/springblade/modules/farm/controller/FarmController.java b/src/main/java/org/springblade/modules/farm/controller/FarmController.java
new file mode 100644
index 0000000..09f2abb
--- /dev/null
+++ b/src/main/java/org/springblade/modules/farm/controller/FarmController.java
@@ -0,0 +1,121 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.farm.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.farm.entity.Farm;
+import org.springblade.modules.farm.service.FarmService;
+import org.springblade.modules.farm.vo.FarmVO;
+import org.springframework.web.bind.annotation.*;
+import javax.validation.Valid;
+
+/**
+ * 农场控制器
+ * @since 2022-05-10
+ * @author zhongrj
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/farm")
+public class FarmController extends BladeController {
+
+	private final FarmService farmService;
+
+	/**
+	 * 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入farm")
+	public R<Farm> detail(Farm farm) {
+		Farm detail = farmService.getOne(Condition.getQueryWrapper(farm));
+		return R.data(detail);
+	}
+
+	/**
+	 * 分页
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入farm")
+	public R<IPage<Farm>> list(Farm farm, Query query) {
+		IPage<Farm> pages = farmService.page(Condition.getPage(query), Condition.getQueryWrapper(farm));
+		return R.data(pages);
+	}
+
+	/**
+	 * 自定义分页
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入farm")
+	public R<IPage<FarmVO>> page(FarmVO farm, Query query) {
+		IPage<FarmVO> pages = farmService.selectFarmPage(Condition.getPage(query), farm);
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入farm")
+	public R save(@Valid @RequestBody Farm farm) {
+		return R.status(farmService.save(farm));
+	}
+
+	/**
+	 * 修改
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入farm")
+	public R update(@Valid @RequestBody Farm farm) {
+		return R.status(farmService.updateById(farm));
+	}
+
+	/**
+	 * 新增或修改
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入farm")
+	public R submit(@Valid @RequestBody Farm farm) {
+		return R.status(farmService.saveOrUpdate(farm));
+	}
+
+
+	/**
+	 * 删除
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 7)
+	@ApiOperation(value = "逻辑删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(farmService.removeByIds(Func.toLongList(ids)));
+	}
+
+}
diff --git a/src/main/java/org/springblade/modules/farm/entity/Farm.java b/src/main/java/org/springblade/modules/farm/entity/Farm.java
new file mode 100644
index 0000000..dbb0e48
--- /dev/null
+++ b/src/main/java/org/springblade/modules/farm/entity/Farm.java
@@ -0,0 +1,80 @@
+package org.springblade.modules.farm.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 实体类
+ * @since 2022-05-10
+ * @author zhongrj
+ */
+@Data
+@TableName("sys_farm")
+public class Farm implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键id
+	 */
+	@TableId(value = "id",type = IdType.AUTO)
+	private Integer id;
+
+	/**
+	 * 农场名称
+	 */
+	private Integer farmName;
+
+	/**
+	 * 农场地址
+	 */
+	private String farmAddress;
+
+	/**
+	 * 土地流转面积
+	 */
+	private String farmArea;
+
+
+	/**
+	 * 口号
+	 */
+	private String slogan;
+
+
+	/**
+	 * 介绍
+	 */
+	private String introduce;
+
+
+	/**
+	 * 农场环境照片(多张)
+	 */
+	private String picture;
+
+	/**
+	 * 农场位置(面)
+	 */
+	private String position;
+
+	/**
+	 * 租户id
+	 */
+	private String tenantId;
+
+	/**
+	 * 创建时间
+	 */
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date createTime;
+
+
+}
diff --git a/src/main/java/org/springblade/modules/farm/mapper/FarmMapper.java b/src/main/java/org/springblade/modules/farm/mapper/FarmMapper.java
new file mode 100644
index 0000000..2b9e687
--- /dev/null
+++ b/src/main/java/org/springblade/modules/farm/mapper/FarmMapper.java
@@ -0,0 +1,42 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.farm.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.farm.entity.Farm;
+import org.springblade.modules.farm.vo.FarmVO;
+
+import java.util.List;
+
+/**
+ *  农场Mapper 接口
+ * @since 2022-05-10
+ * @author zhongrj
+ */
+public interface FarmMapper extends BaseMapper<Farm> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param farm
+	 * @return
+	 */
+	List<FarmVO> selectFarmPage(IPage page, FarmVO farm);
+
+}
diff --git a/src/main/java/org/springblade/modules/farm/mapper/FarmMapper.xml b/src/main/java/org/springblade/modules/farm/mapper/FarmMapper.xml
new file mode 100644
index 0000000..82687f3
--- /dev/null
+++ b/src/main/java/org/springblade/modules/farm/mapper/FarmMapper.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.farm.mapper.FarmMapper">
+
+    <!--自定义查询农场分页数据-->
+    <select id="selectFarmPage" resultType="org.springblade.modules.farm.vo.FarmVO">
+        select * from sys_farm where 1=1
+    </select>
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/farm/service/FarmService.java b/src/main/java/org/springblade/modules/farm/service/FarmService.java
new file mode 100644
index 0000000..9cd4522
--- /dev/null
+++ b/src/main/java/org/springblade/modules/farm/service/FarmService.java
@@ -0,0 +1,26 @@
+
+package org.springblade.modules.farm.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.farm.entity.Farm;
+import org.springblade.modules.farm.vo.FarmVO;
+
+/**
+ * 农场服务类
+ * @since 2022-05-10
+ * @author zhongrj
+ */
+public interface FarmService extends IService<Farm> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param farm
+	 * @return
+	 */
+	IPage<FarmVO> selectFarmPage(IPage<FarmVO> page, FarmVO farm);
+
+
+}
diff --git a/src/main/java/org/springblade/modules/farm/service/impl/FarmServiceImpl.java b/src/main/java/org/springblade/modules/farm/service/impl/FarmServiceImpl.java
new file mode 100644
index 0000000..d952efb
--- /dev/null
+++ b/src/main/java/org/springblade/modules/farm/service/impl/FarmServiceImpl.java
@@ -0,0 +1,45 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.farm.service.impl;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.modules.farm.entity.Farm;
+import org.springblade.modules.farm.mapper.FarmMapper;
+import org.springblade.modules.farm.service.FarmService;
+import org.springblade.modules.farm.vo.FarmVO;
+import org.springframework.stereotype.Service;
+
+/**
+ * 农场服务实现类
+ * @since 2022-05-10
+ * @author zhongrj
+ */
+@Service
+public class FarmServiceImpl extends ServiceImpl<FarmMapper, Farm> implements FarmService {
+
+	/**
+	 * 自定义分页
+	 * @param page
+	 * @param farm
+	 * @return
+	 */
+	@Override
+	public IPage<FarmVO> selectFarmPage(IPage<FarmVO> page, FarmVO farm) {
+		return page.setRecords(baseMapper.selectFarmPage(page, farm));
+	}
+
+}
diff --git a/src/main/java/org/springblade/modules/farm/vo/FarmVO.java b/src/main/java/org/springblade/modules/farm/vo/FarmVO.java
new file mode 100644
index 0000000..b1802c9
--- /dev/null
+++ b/src/main/java/org/springblade/modules/farm/vo/FarmVO.java
@@ -0,0 +1,29 @@
+package org.springblade.modules.farm.vo;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.resource.entity.Oss;
+
+/**
+ * OssVO
+ *
+ * @author Chill
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "OssVO对象", description = "对象存储表")
+public class FarmVO extends Oss {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 分类名
+	 */
+	private String categoryName;
+
+	/**
+	 * 是否启用
+	 */
+	private String statusName;
+
+}
diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml
index fab7885..3f350ea 100644
--- a/src/main/resources/application-test.yml
+++ b/src/main/resources/application-test.yml
@@ -14,9 +14,9 @@
     #  nodes: 127.0.0.1:7001,127.0.0.1:7002,127.0.0.1:7003
     #  commandTimeout: 5000
   datasource:
-    url: jdbc:mysql://localhost:3306/bladex_boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
+    url: jdbc:mysql://36.134.81.48:3306/zhny?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
     username: root
-    password: root
+    password: jfpt123
 
 #第三方登陆
 social:
@@ -32,7 +32,7 @@
     ##将docker脚本部署的redis服务映射为宿主机ip
     ##生产环境推荐使用阿里云高可用redis服务并设置密码
     address: redis://127.0.0.1:6379
-    password: 123456
+    password:
   #本地文件上传
   file:
     remote-mode: true
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index c8d14aa..bedf30f 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,6 +1,6 @@
 #服务器配置
 server:
-  port: 80
+  port: 89
   undertow:
     threads:
       # 设置IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接, 默认设置每个CPU核心一个线程
diff --git a/src/test/java/org/springblade/test/BladeTest.java b/src/test/java/org/springblade/test/BladeTest.java
index 1fd4b37..c533d5f 100644
--- a/src/test/java/org/springblade/test/BladeTest.java
+++ b/src/test/java/org/springblade/test/BladeTest.java
@@ -1,46 +1,46 @@
-package org.springblade.test;
-
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springblade.core.test.BladeBootTest;
-import org.springblade.core.test.BladeSpringRunner;
-import org.springblade.core.tool.utils.StringUtil;
-import org.springblade.flow.engine.entity.FlowModel;
-import org.springblade.flow.engine.service.FlowEngineService;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import java.util.List;
-
-/**
- * Blade单元测试
- *
- * @author Chill
- */
-@RunWith(BladeSpringRunner.class)
-@BladeBootTest(appName = "blade-runner", enableLoader = true)
-public class BladeTest {
-
-	@Autowired
-	private FlowEngineService service;
-
-	@Test
-	public void contextLoads() {
-		System.out.println("=====数据迁移启动=====");
-
-		// 获取 ACT_DE_MODEL 表需要转换的数据
-		List<FlowModel> list = service.list();
-		// 循环转换
-		list.forEach(flowModel -> {
-			if (StringUtil.isBlank(flowModel.getModelEditorXml())) {
-				service.update(Wrappers.<FlowModel>lambdaUpdate()
-					.set(FlowModel::getModelEditorXml, new String(service.getModelEditorXML(flowModel)))
-					.ge(FlowModel::getId, flowModel.getId())
-				);
-			}
-		});
-
-		System.out.println("=====数据迁移完毕=====");
-	}
-
-}
+//package org.springblade.test;
+//
+//import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+//import org.junit.Test;
+//import org.junit.runner.RunWith;
+//import org.springblade.core.test.BladeBootTest;
+//import org.springblade.core.test.BladeSpringRunner;
+//import org.springblade.core.tool.utils.StringUtil;
+//import org.springblade.flow.engine.entity.FlowModel;
+//import org.springblade.flow.engine.service.FlowEngineService;
+//import org.springframework.beans.factory.annotation.Autowired;
+//
+//import java.util.List;
+//
+///**
+// * Blade单元测试
+// *
+// * @author Chill
+// */
+//@RunWith(BladeSpringRunner.class)
+//@BladeBootTest(appName = "blade-runner", enableLoader = true)
+//public class BladeTest {
+//
+//	@Autowired
+//	private FlowEngineService service;
+//
+//	@Test
+//	public void contextLoads() {
+//		System.out.println("=====数据迁移启动=====");
+//
+//		// 获取 ACT_DE_MODEL 表需要转换的数据
+//		List<FlowModel> list = service.list();
+//		// 循环转换
+//		list.forEach(flowModel -> {
+//			if (StringUtil.isBlank(flowModel.getModelEditorXml())) {
+//				service.update(Wrappers.<FlowModel>lambdaUpdate()
+//					.set(FlowModel::getModelEditorXml, new String(service.getModelEditorXML(flowModel)))
+//					.ge(FlowModel::getId, flowModel.getId())
+//				);
+//			}
+//		});
+//
+//		System.out.println("=====数据迁移完毕=====");
+//	}
+//
+//}

--
Gitblit v1.9.3