diff --git a/sql/mysql/system_agreement.sql b/sql/mysql/system_agreement.sql new file mode 100644 index 00000000..0686691e --- /dev/null +++ b/sql/mysql/system_agreement.sql @@ -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='系统协议表'; + diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/agreement/AgreementController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/agreement/AgreementController.java new file mode 100644 index 00000000..710eb155 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/agreement/AgreementController.java @@ -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> getAgreementPage(AgreementReqVO req) { + return agreementService.getPage(req); + } + + @PostMapping() + @Operation(summary = "协议-新增") + public CommonResult addAgreement(@Valid @RequestBody AgreementAddVO req) { + return agreementService.createAgreement(req); + } + + @GetMapping("/{id}") + @Operation(summary = "协议-详情") + public CommonResult getAgreement(@PathVariable("id") String id) { + return agreementService.getAgreement(id); + } + + @PutMapping() + @Operation(summary = "协议-修改") + public CommonResult updateAgreement(@Valid @RequestBody AgreementVO req) { + return agreementService.updateAgreement(req); + } +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/agreement/vo/AgreementAddVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/agreement/vo/AgreementAddVO.java new file mode 100644 index 00000000..417c9a11 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/agreement/vo/AgreementAddVO.java @@ -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; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/agreement/vo/AgreementPagesVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/agreement/vo/AgreementPagesVO.java new file mode 100644 index 00000000..cce11b07 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/agreement/vo/AgreementPagesVO.java @@ -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; + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/agreement/vo/AgreementReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/agreement/vo/AgreementReqVO.java new file mode 100644 index 00000000..7aa463d6 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/agreement/vo/AgreementReqVO.java @@ -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 { +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/agreement/vo/AgreementVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/agreement/vo/AgreementVO.java new file mode 100644 index 00000000..e722608c --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/agreement/vo/AgreementVO.java @@ -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; +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/agreement/AgreementDO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/agreement/AgreementDO.java new file mode 100644 index 00000000..a4cb5457 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/agreement/AgreementDO.java @@ -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; +} \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/agreement/AgreementMapper.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/agreement/AgreementMapper.java new file mode 100644 index 00000000..2042c44d --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/agreement/AgreementMapper.java @@ -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 { + + default PageResult selectPage(AgreementReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX().orderByDesc(AgreementDO::getCreateTime)); + } +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/agreement/AgreementService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/agreement/AgreementService.java new file mode 100644 index 00000000..ab4eef97 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/agreement/AgreementService.java @@ -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> getPage(AgreementReqVO req); + + + /** + * api 接口 + * 协议 - 新增 + * + */ + CommonResult createAgreement(@Valid AgreementAddVO createReqVO); + + + /** + * api 接口 + * 协议 - 详情 + * */ + CommonResult getAgreement(String id); + + /** + * api 接口 + * 协议 - 修改 + * */ + CommonResult updateAgreement(@Valid AgreementVO updateReqVO); + } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/agreement/AgreementServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/agreement/AgreementServiceImpl.java new file mode 100644 index 00000000..3d61563e --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/agreement/AgreementServiceImpl.java @@ -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> getPage(AgreementReqVO pageReqVO) { + return CommonResult.success(agreementMapper.selectPage(pageReqVO)); + } + + @Override + public CommonResult createAgreement(AgreementAddVO createReqVO) { + AgreementDO agreementDO = new AgreementDO(); + agreementDO.setType(createReqVO.getType()); + agreementDO.setContext(createReqVO.getContext()); + return CommonResult.success(agreementMapper.insert(agreementDO)); + } + + + @Override + public CommonResult getAgreement(String id) { + return CommonResult.success(agreementMapper.selectById(id)); + } + + + @Override + public CommonResult 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)); + } +} \ No newline at end of file diff --git a/yudao-server/src/main/resources/application.yaml b/yudao-server/src/main/resources/application.yaml index dbbb2d6a..018de769 100644 --- a/yudao-server/src/main/resources/application.yaml +++ b/yudao-server/src/main/resources/application.yaml @@ -3,7 +3,7 @@ spring: name: yudao-server profiles: - active: dev + active: gtr7 config: import: - classpath:db.properties