feat(farm): 新增协议管理功能
- 添加协议相关的VO、DO、Mapper及Service接口与实现 - 实现协议的增删改查及分页查询接口 - 配置协议表结构SQL脚本 - 更新应用配置文件激活环境为gtr7
This commit is contained in:
13
sql/mysql/system_agreement.sql
Normal file
13
sql/mysql/system_agreement.sql
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
CREATE TABLE system_agreement (
|
||||||
|
`id` INT AUTO_INCREMENT PRIMARY KEY COMMENT '唯一标识符,自增主键',
|
||||||
|
`type` VARCHAR(50) NOT NULL COMMENT '内容类型,建议使用枚举值如',
|
||||||
|
`context` LONGTEXT NOT NULL COMMENT '内容主体,支持长文本存储',
|
||||||
|
`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
INDEX idx_type (type) COMMENT '类型字段索引'
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统协议表';
|
||||||
|
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.controller.admin.agreement;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.agreement.vo.AgreementAddVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.agreement.vo.AgreementReqVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.agreement.vo.AgreementVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.dal.dataobject.agreement.AgreementDO;
|
||||||
|
import cn.iocoder.yudao.module.farm.service.agreement.AgreementService;
|
||||||
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
|
import jakarta.validation.Valid;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
@Tag(name = "协议政策")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/system/agreement")
|
||||||
|
@Validated
|
||||||
|
public class AgreementController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private AgreementService agreementService;
|
||||||
|
|
||||||
|
@GetMapping()
|
||||||
|
@Operation(summary = "协议-分页")
|
||||||
|
public CommonResult<PageResult<AgreementDO>> getAgreementPage(AgreementReqVO req) {
|
||||||
|
return agreementService.getPage(req);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping()
|
||||||
|
@Operation(summary = "协议-新增")
|
||||||
|
public CommonResult<Integer> addAgreement(@Valid @RequestBody AgreementAddVO req) {
|
||||||
|
return agreementService.createAgreement(req);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/{id}")
|
||||||
|
@Operation(summary = "协议-详情")
|
||||||
|
public CommonResult<AgreementDO> getAgreement(@PathVariable("id") String id) {
|
||||||
|
return agreementService.getAgreement(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PutMapping()
|
||||||
|
@Operation(summary = "协议-修改")
|
||||||
|
public CommonResult<Integer> updateAgreement(@Valid @RequestBody AgreementVO req) {
|
||||||
|
return agreementService.updateAgreement(req);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.controller.admin.agreement.vo;
|
||||||
|
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class AgreementAddVO {
|
||||||
|
/**
|
||||||
|
* 类型
|
||||||
|
*/
|
||||||
|
private String type;
|
||||||
|
/**
|
||||||
|
* 文本内容
|
||||||
|
*/
|
||||||
|
private String context;
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.controller.admin.agreement.vo;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description: 种植计划 响应实体
|
||||||
|
* @author: binda
|
||||||
|
* @date: 2025/9/4 09:34
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class AgreementPagesVO {
|
||||||
|
|
||||||
|
@Schema(description = "id")
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
@Schema(description = "类型")
|
||||||
|
private String type;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.controller.admin.agreement.vo;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description: 种植计划 请求实体
|
||||||
|
* @author: binda
|
||||||
|
* @date: 2025/9/4 09:35
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
//@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class AgreementReqVO extends PageParam {
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.controller.admin.agreement.vo;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class AgreementVO {
|
||||||
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
|
@TableId(type = IdType.AUTO)
|
||||||
|
private String id;
|
||||||
|
/**
|
||||||
|
* 类型
|
||||||
|
*/
|
||||||
|
private String type;
|
||||||
|
/**
|
||||||
|
* 文本内容
|
||||||
|
*/
|
||||||
|
private String context;
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.dal.dataobject.agreement;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 协议表
|
||||||
|
*
|
||||||
|
* @author 甘宇辉
|
||||||
|
*/
|
||||||
|
@TableName("system_agreement")
|
||||||
|
@Data
|
||||||
|
public class AgreementDO extends BaseDO {
|
||||||
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
|
@TableId(type = IdType.AUTO)
|
||||||
|
private String id;
|
||||||
|
/**
|
||||||
|
* 类型
|
||||||
|
*/
|
||||||
|
private String type;
|
||||||
|
/**
|
||||||
|
* 文本内容
|
||||||
|
*/
|
||||||
|
private String context;
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.dal.mysql.agreement;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.agreement.vo.AgreementReqVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.dal.dataobject.agreement.AgreementDO;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface AgreementMapper extends BaseMapperX<AgreementDO> {
|
||||||
|
|
||||||
|
default PageResult<AgreementDO> selectPage(AgreementReqVO reqVO) {
|
||||||
|
return selectPage(reqVO, new LambdaQueryWrapperX<AgreementDO>().orderByDesc(AgreementDO::getCreateTime));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.service.agreement;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.agreement.vo.AgreementAddVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.agreement.vo.AgreementReqVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.agreement.vo.AgreementVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.dal.dataobject.agreement.AgreementDO;
|
||||||
|
import jakarta.validation.Valid;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 协议 Service 接口
|
||||||
|
*
|
||||||
|
* @author 芋道源码
|
||||||
|
*/
|
||||||
|
public interface AgreementService {
|
||||||
|
/**
|
||||||
|
* api 接口
|
||||||
|
* 协议列表-分页查询
|
||||||
|
*
|
||||||
|
* @param req
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
CommonResult<PageResult<AgreementDO>> getPage(AgreementReqVO req);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* api 接口
|
||||||
|
* 协议 - 新增
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
CommonResult<Integer> createAgreement(@Valid AgreementAddVO createReqVO);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* api 接口
|
||||||
|
* 协议 - 详情
|
||||||
|
* */
|
||||||
|
CommonResult<AgreementDO> getAgreement(String id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* api 接口
|
||||||
|
* 协议 - 修改
|
||||||
|
* */
|
||||||
|
CommonResult<Integer> updateAgreement(@Valid AgreementVO updateReqVO);
|
||||||
|
}
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.service.agreement;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.agreement.vo.AgreementAddVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.agreement.vo.AgreementReqVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.controller.admin.agreement.vo.AgreementVO;
|
||||||
|
import cn.iocoder.yudao.module.farm.dal.dataobject.agreement.AgreementDO;
|
||||||
|
import cn.iocoder.yudao.module.farm.dal.mysql.agreement.AgreementMapper;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 协议实现类
|
||||||
|
*
|
||||||
|
* @author 芋道源码
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Validated
|
||||||
|
public class AgreementServiceImpl implements AgreementService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private AgreementMapper agreementMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CommonResult<PageResult<AgreementDO>> getPage(AgreementReqVO pageReqVO) {
|
||||||
|
return CommonResult.success(agreementMapper.selectPage(pageReqVO));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CommonResult<Integer> createAgreement(AgreementAddVO createReqVO) {
|
||||||
|
AgreementDO agreementDO = new AgreementDO();
|
||||||
|
agreementDO.setType(createReqVO.getType());
|
||||||
|
agreementDO.setContext(createReqVO.getContext());
|
||||||
|
return CommonResult.success(agreementMapper.insert(agreementDO));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CommonResult<AgreementDO> getAgreement(String id) {
|
||||||
|
return CommonResult.success(agreementMapper.selectById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CommonResult<Integer> updateAgreement(AgreementVO res) {
|
||||||
|
AgreementDO agreementDO = new AgreementDO();
|
||||||
|
agreementDO.setId(res.getId());
|
||||||
|
agreementDO.setType(res.getType());
|
||||||
|
agreementDO.setContext(res.getContext());
|
||||||
|
return CommonResult.success(agreementMapper.updateById(agreementDO));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,7 +3,7 @@ spring:
|
|||||||
name: yudao-server
|
name: yudao-server
|
||||||
|
|
||||||
profiles:
|
profiles:
|
||||||
active: dev
|
active: gtr7
|
||||||
config:
|
config:
|
||||||
import:
|
import:
|
||||||
- classpath:db.properties
|
- classpath:db.properties
|
||||||
|
|||||||
Reference in New Issue
Block a user