diff --git a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/soy/index.vue.vm b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/soy/index.vue.vm
index f1cc6dc..3c744ac 100644
--- a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/soy/index.vue.vm
+++ b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/soy/index.vue.vm
@@ -1,157 +1,158 @@
@@ -160,36 +161,36 @@ function handleExport() {
<${BusinessName}OperateDrawer
- v-model:visible="drawerVisible"
- :operate-type="operateType"
- :row-data="editingData"
- @submitted="getDataByPage"
+ v-model:visible="drawerVisible"
+ :operate-type="operateType"
+ :row-data="editingData"
+ @submitted="getDataByPage"
/>
diff --git a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/soy/modules/operate-drawer.vue.vm b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/soy/modules/operate-drawer.vue.vm
index 58dfab4..2f48a5d 100644
--- a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/soy/modules/operate-drawer.vue.vm
+++ b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/soy/modules/operate-drawer.vue.vm
@@ -1,248 +1,250 @@
-
-#set($immediateDictList = [])
-#foreach($column in $columns)
-#set($field=$column.javaField)
-#if(($column.insert || $column.edit) && !$column.pk)
-#set($isImmediate = !$column.isList() && !$column.isQuery() && !$immediateDictList.contains($column.dictType))
-
- #if($tplCategory == 'tree' && $column.javaField == $treeParentCode)
-
- #elseif($column.htmlType == "textarea" || $column.htmlType == "editor")
-
- #elseif($column.htmlType == "select" && $column.dictType)
-
- #elseif($column.htmlType == "select" && !$column.dictType)
-
- #elseif($column.htmlType == "radio" && $column.dictType)
-
- #elseif($column.htmlType == "radio" && !$column.dictType)
-
-
-
-
-
- #elseif($column.htmlType == "checkbox" && $column.dictType)
-
- #elseif($column.htmlType == "checkbox" && $column.dictType)
-
-
-
-
-
- #elseif($column.htmlType == 'datetime')
-
- #elseif($column.htmlType == "imageUpload")
-
- #elseif($column.htmlType == "fileUpload")
-
- #elseif($column.htmlType == "editor")
-
-#else
- #end
-
-#end
-#end
+
+ #set($immediateDictList = [])
+ #foreach($column in $columns)
+ #set($field=$column.javaField)
+ #if(($column.insert || $column.edit) && !$column.pk)
+ #set($isImmediate = !$column.isList() && !$column.isQuery() && !$immediateDictList.contains($column.dictType))
+
+ #if($tplCategory == 'tree' && $column.javaField == $treeParentCode)
+
+ #elseif($column.htmlType == "textarea" || $column.htmlType == "editor")
+
+ #elseif($column.htmlType == "select" && $column.dictType)
+
+ #elseif($column.htmlType == "select" && !$column.dictType)
+
+ #elseif($column.htmlType == "radio" && $column.dictType)
+
+ #elseif($column.htmlType == "radio" && !$column.dictType)
+
+
+
+
+
+ #elseif($column.htmlType == "checkbox" && $column.dictType)
+
+ #elseif($column.htmlType == "checkbox" && $column.dictType)
+
+
+
+
+
+ #elseif($column.htmlType == 'datetime')
+
+ #elseif($column.htmlType == "imageUpload")
+
+ #elseif($column.htmlType == "fileUpload")
+
+ #elseif($column.htmlType == "editor")
+
+ #else
+ #end
+
+ #end
+ #end
diff --git a/ruoyi-modules/ruoyi-pet/src/main/java/org/dromara/pet/controller/BizPetHealthLogsController.java b/ruoyi-modules/ruoyi-pet/src/main/java/org/dromara/pet/controller/BizPetHealthLogsController.java
new file mode 100644
index 0000000..3c7efa5
--- /dev/null
+++ b/ruoyi-modules/ruoyi-pet/src/main/java/org/dromara/pet/controller/BizPetHealthLogsController.java
@@ -0,0 +1,105 @@
+package org.dromara.pet.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.pet.domain.vo.BizPetHealthLogsVo;
+import org.dromara.pet.domain.bo.BizPetHealthLogsBo;
+import org.dromara.pet.service.IBizPetHealthLogsService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 宠物日常健康日志
+ *
+ * @author shuo
+ * @date 2026-02-25
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/pet/petHealthLogs")
+public class BizPetHealthLogsController extends BaseController {
+
+ private final IBizPetHealthLogsService bizPetHealthLogsService;
+
+/**
+ * 查询宠物日常健康日志列表
+ */
+@SaCheckPermission("pet:petHealthLogs:list")
+@GetMapping("/list")
+ public TableDataInfo list(BizPetHealthLogsBo bo, PageQuery pageQuery) {
+ return bizPetHealthLogsService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出宠物日常健康日志列表
+ */
+ @SaCheckPermission("pet:petHealthLogs:export")
+ @Log(title = "宠物日常健康日志", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(BizPetHealthLogsBo bo, HttpServletResponse response) {
+ List list = bizPetHealthLogsService.queryList(bo);
+ ExcelUtil.exportExcel(list, "宠物日常健康日志", BizPetHealthLogsVo.class, response);
+ }
+
+ /**
+ * 获取宠物日常健康日志详细信息
+ *
+ * @param id 主键
+ */
+ @SaCheckPermission("pet:petHealthLogs:query")
+ @GetMapping("/{id}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable Long id) {
+ return R.ok(bizPetHealthLogsService.queryById(id));
+ }
+
+ /**
+ * 新增宠物日常健康日志
+ */
+ @SaCheckPermission("pet:petHealthLogs:add")
+ @Log(title = "宠物日常健康日志", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody BizPetHealthLogsBo bo) {
+ return toAjax(bizPetHealthLogsService.insertByBo(bo));
+ }
+
+ /**
+ * 修改宠物日常健康日志
+ */
+ @SaCheckPermission("pet:petHealthLogs:edit")
+ @Log(title = "宠物日常健康日志", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody BizPetHealthLogsBo bo) {
+ return toAjax(bizPetHealthLogsService.updateByBo(bo));
+ }
+
+ /**
+ * 删除宠物日常健康日志
+ *
+ * @param ids 主键串
+ */
+ @SaCheckPermission("pet:petHealthLogs:remove")
+ @Log(title = "宠物日常健康日志", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable Long[] ids) {
+ return toAjax(bizPetHealthLogsService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/ruoyi-modules/ruoyi-pet/src/main/java/org/dromara/pet/domain/BizPetHealthLogs.java b/ruoyi-modules/ruoyi-pet/src/main/java/org/dromara/pet/domain/BizPetHealthLogs.java
new file mode 100644
index 0000000..cd66413
--- /dev/null
+++ b/ruoyi-modules/ruoyi-pet/src/main/java/org/dromara/pet/domain/BizPetHealthLogs.java
@@ -0,0 +1,80 @@
+package org.dromara.pet.domain;
+
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+ import java.util.Date;
+ import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.io.Serial;
+
+/**
+ * 宠物日常健康日志对象 biz_pet_health_logs
+ *
+ * @author shuo
+ * @date 2026-02-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("biz_pet_health_logs")
+public class BizPetHealthLogs extends
+
+ BaseEntity {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键ID
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ /**
+ * 关联用户ID
+ */
+ private Long userId;
+
+ /**
+ * 关联宠物ID
+ */
+ private Long petId;
+
+ /**
+ * 日志类型(VOMIT呕吐/STOOL排泄/MEDS用药/FOOD饮食/WEIGHT体重/OTHER其他)
+ */
+ private String logType;
+
+ /**
+ * 事件发生时间
+ */
+ private Date logTime;
+
+ /**
+ * 严重程度(Mild轻度/Moderate中度/Severe重度)
+ */
+ private String severity;
+
+ /**
+ * 状态稠度(Normal正常/Soft偏软/Liquid液体/Hard坚硬)
+ */
+ private String consistency;
+
+ /**
+ * 备注文本
+ */
+ private String notes;
+
+ /**
+ * 附件照片链接
+ */
+ private String mediaUrl;
+
+ /**
+ * 租户编号
+ */
+ private String tenantId;
+
+
+ }
diff --git a/ruoyi-modules/ruoyi-pet/src/main/java/org/dromara/pet/domain/bo/BizPetHealthLogsBo.java b/ruoyi-modules/ruoyi-pet/src/main/java/org/dromara/pet/domain/bo/BizPetHealthLogsBo.java
new file mode 100644
index 0000000..1093eec
--- /dev/null
+++ b/ruoyi-modules/ruoyi-pet/src/main/java/org/dromara/pet/domain/bo/BizPetHealthLogsBo.java
@@ -0,0 +1,82 @@
+package org.dromara.pet.domain.bo;
+
+import org.dromara.pet.domain.BizPetHealthLogs;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+/**
+ * 宠物日常健康日志业务对象 biz_pet_health_logs
+ *
+ * @author shuo
+ * @date 2026-02-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = BizPetHealthLogs.class,reverseConvertGenerate =false)
+
+public class BizPetHealthLogsBo extends BaseEntity {
+
+ /**
+ * 主键ID
+ */
+ private Long id;
+
+ /**
+ * 关联用户ID
+ */
+ private Long userId;
+
+ /**
+ * 关联宠物ID
+ */
+ private Long petId;
+
+ /**
+ * 日志类型(VOMIT呕吐/STOOL排泄/MEDS用药/FOOD饮食/WEIGHT体重/OTHER其他)
+ */
+ private String logType;
+
+ /**
+ * 事件发生时间
+ */
+ private Date logTime;
+
+ /**
+ * 严重程度(Mild轻度/Moderate中度/Severe重度)
+ */
+ @NotBlank(message = "严重程度(Mild轻度/Moderate中度/Severe重度)不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String severity;
+
+ /**
+ * 状态稠度(Normal正常/Soft偏软/Liquid液体/Hard坚硬)
+ */
+ @NotBlank(message = "状态稠度(Normal正常/Soft偏软/Liquid液体/Hard坚硬)不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String consistency;
+
+ /**
+ * 备注文本
+ */
+ @NotBlank(message = "备注文本不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String notes;
+
+ /**
+ * 附件照片链接
+ */
+ @NotBlank(message = "附件照片链接不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String mediaUrl;
+
+ /**
+ * 租户编号
+ */
+ @NotBlank(message = "租户编号不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String tenantId;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-pet/src/main/java/org/dromara/pet/domain/vo/BizPetHealthLogsVo.java b/ruoyi-modules/ruoyi-pet/src/main/java/org/dromara/pet/domain/vo/BizPetHealthLogsVo.java
new file mode 100644
index 0000000..4bd02a0
--- /dev/null
+++ b/ruoyi-modules/ruoyi-pet/src/main/java/org/dromara/pet/domain/vo/BizPetHealthLogsVo.java
@@ -0,0 +1,94 @@
+package org.dromara.pet.domain.vo;
+
+ import java.util.Date;
+ import com.fasterxml.jackson.annotation.JsonFormat;
+import org.dromara.pet.domain.BizPetHealthLogs;
+import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
+import cn.idev.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ * 宠物日常健康日志视图对象 biz_pet_health_logs
+ *
+ * @author shuo
+ * @date 2026-02-25
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = BizPetHealthLogs.class)
+
+public class BizPetHealthLogsVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键ID
+ */
+ @ExcelProperty(value = "主键ID")
+ private Long id;
+
+ /**
+ * 关联用户ID
+ */
+ @ExcelProperty(value = "关联用户ID")
+ private Long userId;
+
+ /**
+ * 关联宠物ID
+ */
+ @ExcelProperty(value = "关联宠物ID")
+ private Long petId;
+
+ /**
+ * 日志类型(VOMIT呕吐/STOOL排泄/MEDS用药/FOOD饮食/WEIGHT体重/OTHER其他)
+ */
+ @ExcelProperty(value = "日志类型(VOMIT呕吐/STOOL排泄/MEDS用药/FOOD饮食/WEIGHT体重/OTHER其他)")
+ private String logType;
+
+ /**
+ * 事件发生时间
+ */
+ @ExcelProperty(value = "事件发生时间")
+ private Date logTime;
+
+ /**
+ * 严重程度(Mild轻度/Moderate中度/Severe重度)
+ */
+ @ExcelProperty(value = "严重程度(Mild轻度/Moderate中度/Severe重度)")
+ private String severity;
+
+ /**
+ * 状态稠度(Normal正常/Soft偏软/Liquid液体/Hard坚硬)
+ */
+ @ExcelProperty(value = "状态稠度(Normal正常/Soft偏软/Liquid液体/Hard坚硬)")
+ private String consistency;
+
+ /**
+ * 备注文本
+ */
+ @ExcelProperty(value = "备注文本")
+ private String notes;
+
+ /**
+ * 附件照片链接
+ */
+ @ExcelProperty(value = "附件照片链接")
+ private String mediaUrl;
+
+ /**
+ * 租户编号
+ */
+ @ExcelProperty(value = "租户编号")
+ private String tenantId;
+
+
+}
diff --git a/ruoyi-modules/ruoyi-pet/src/main/java/org/dromara/pet/mapper/BizPetHealthLogsMapper.java b/ruoyi-modules/ruoyi-pet/src/main/java/org/dromara/pet/mapper/BizPetHealthLogsMapper.java
new file mode 100644
index 0000000..e8aaf31
--- /dev/null
+++ b/ruoyi-modules/ruoyi-pet/src/main/java/org/dromara/pet/mapper/BizPetHealthLogsMapper.java
@@ -0,0 +1,15 @@
+package org.dromara.pet.mapper;
+
+import org.dromara.pet.domain.BizPetHealthLogs;
+import org.dromara.pet.domain.vo.BizPetHealthLogsVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 宠物日常健康日志Mapper接口
+ *
+ * @author shuo
+ * @date 2026-02-25
+ */
+public interface BizPetHealthLogsMapper extends BaseMapperPlus {
+
+}
diff --git a/ruoyi-modules/ruoyi-pet/src/main/java/org/dromara/pet/service/IBizPetHealthLogsService.java b/ruoyi-modules/ruoyi-pet/src/main/java/org/dromara/pet/service/IBizPetHealthLogsService.java
new file mode 100644
index 0000000..71eb8bb
--- /dev/null
+++ b/ruoyi-modules/ruoyi-pet/src/main/java/org/dromara/pet/service/IBizPetHealthLogsService.java
@@ -0,0 +1,68 @@
+package org.dromara.pet.service;
+
+import org.dromara.pet.domain.vo.BizPetHealthLogsVo;
+import org.dromara.pet.domain.bo.BizPetHealthLogsBo;
+ import org.dromara.common.mybatis.core.page.TableDataInfo;
+ import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 宠物日常健康日志Service接口
+ *
+ * @author shuo
+ * @date 2026-02-25
+ */
+public interface IBizPetHealthLogsService {
+
+ /**
+ * 查询宠物日常健康日志
+ *
+ * @param id 主键
+ * @return 宠物日常健康日志
+ */
+ BizPetHealthLogsVo queryById(Long id);
+
+ /**
+ * 分页查询宠物日常健康日志列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 宠物日常健康日志分页列表
+ */
+ TableDataInfo queryPageList(BizPetHealthLogsBo bo, PageQuery pageQuery);
+
+ /**
+ * 查询符合条件的宠物日常健康日志列表
+ *
+ * @param bo 查询条件
+ * @return 宠物日常健康日志列表
+ */
+ List queryList(BizPetHealthLogsBo bo);
+
+ /**
+ * 新增宠物日常健康日志
+ *
+ * @param bo 宠物日常健康日志
+ * @return 是否新增成功
+ */
+ Boolean insertByBo(BizPetHealthLogsBo bo);
+
+ /**
+ * 修改宠物日常健康日志
+ *
+ * @param bo 宠物日常健康日志
+ * @return 是否修改成功
+ */
+ Boolean updateByBo(BizPetHealthLogsBo bo);
+
+ /**
+ * 校验并批量删除宠物日常健康日志信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ Boolean deleteWithValidByIds(Collection ids, Boolean isValid);
+}
diff --git a/ruoyi-modules/ruoyi-pet/src/main/java/org/dromara/pet/service/impl/BizPetHealthLogsServiceImpl.java b/ruoyi-modules/ruoyi-pet/src/main/java/org/dromara/pet/service/impl/BizPetHealthLogsServiceImpl.java
new file mode 100644
index 0000000..f9e6525
--- /dev/null
+++ b/ruoyi-modules/ruoyi-pet/src/main/java/org/dromara/pet/service/impl/BizPetHealthLogsServiceImpl.java
@@ -0,0 +1,140 @@
+package org.dromara.pet.service.impl;
+
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+ import org.dromara.common.mybatis.core.page.TableDataInfo;
+ import org.dromara.common.mybatis.core.page.PageQuery;
+ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.dromara.pet.domain.bo.BizPetHealthLogsBo;
+import org.dromara.pet.domain.vo.BizPetHealthLogsVo;
+import org.dromara.pet.domain.BizPetHealthLogs;
+import org.dromara.pet.mapper.BizPetHealthLogsMapper;
+import org.dromara.pet.service.IBizPetHealthLogsService;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 宠物日常健康日志Service业务层处理
+ *
+ * @author shuo
+ * @date 2026-02-25
+ */
+@Slf4j
+@RequiredArgsConstructor
+@Service
+public class BizPetHealthLogsServiceImpl implements IBizPetHealthLogsService {
+
+ private final BizPetHealthLogsMapper baseMapper;
+
+ /**
+ * 查询宠物日常健康日志
+ *
+ * @param id 主键
+ * @return 宠物日常健康日志
+ */
+ @Override
+ public BizPetHealthLogsVo queryById(Long id) {
+ return baseMapper.selectVoById(id);
+ }
+
+ /**
+ * 分页查询宠物日常健康日志列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 宠物日常健康日志分页列表
+ */
+ @Override
+ public TableDataInfo queryPageList(BizPetHealthLogsBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ Page result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(result);
+ }
+
+ /**
+ * 查询符合条件的宠物日常健康日志列表
+ *
+ * @param bo 查询条件
+ * @return 宠物日常健康日志列表
+ */
+ @Override
+ public List queryList(BizPetHealthLogsBo bo) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper buildQueryWrapper(BizPetHealthLogsBo bo) {
+ Map params = bo.getParams();
+ LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
+ lqw.orderByAsc(BizPetHealthLogs::getId);
+ lqw.eq(bo.getUserId() != null, BizPetHealthLogs::getUserId, bo.getUserId());
+ lqw.eq(bo.getPetId() != null, BizPetHealthLogs::getPetId, bo.getPetId());
+ lqw.eq(StringUtils.isNotBlank(bo.getLogType()), BizPetHealthLogs::getLogType, bo.getLogType());
+ lqw.eq(bo.getLogTime() != null, BizPetHealthLogs::getLogTime, bo.getLogTime());
+ lqw.eq(StringUtils.isNotBlank(bo.getSeverity()), BizPetHealthLogs::getSeverity, bo.getSeverity());
+ lqw.eq(StringUtils.isNotBlank(bo.getConsistency()), BizPetHealthLogs::getConsistency, bo.getConsistency());
+ lqw.eq(StringUtils.isNotBlank(bo.getNotes()), BizPetHealthLogs::getNotes, bo.getNotes());
+ lqw.eq(StringUtils.isNotBlank(bo.getMediaUrl()), BizPetHealthLogs::getMediaUrl, bo.getMediaUrl());
+ lqw.eq(StringUtils.isNotBlank(bo.getTenantId()), BizPetHealthLogs::getTenantId, bo.getTenantId());
+ return lqw;
+ }
+
+ /**
+ * 新增宠物日常健康日志
+ *
+ * @param bo 宠物日常健康日志
+ * @return 是否新增成功
+ */
+ @Override
+ public Boolean insertByBo(BizPetHealthLogsBo bo) {
+ BizPetHealthLogs add = MapstructUtils.convert(bo, BizPetHealthLogs. class);
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setId(add.getId());
+ }
+ return flag;
+ }
+
+ /**
+ * 修改宠物日常健康日志
+ *
+ * @param bo 宠物日常健康日志
+ * @return 是否修改成功
+ */
+ @Override
+ public Boolean updateByBo(BizPetHealthLogsBo bo) {
+ BizPetHealthLogs update = MapstructUtils.convert(bo, BizPetHealthLogs. class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 保存前的数据校验
+ */
+ private void validEntityBeforeSave(BizPetHealthLogs entity) {
+ //TODO 做一些数据校验,如唯一约束
+ }
+
+ /**
+ * 校验并批量删除宠物日常健康日志信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) {
+ if (isValid) {
+ //TODO 做一些业务上的校验,判断是否需要校验
+ }
+ return baseMapper.deleteByIds(ids) > 0;
+ }
+}
diff --git a/ruoyi-modules/ruoyi-pet/src/main/resources/mapper/pet/BizPetHealthLogsMapper.xml b/ruoyi-modules/ruoyi-pet/src/main/resources/mapper/pet/BizPetHealthLogsMapper.xml
new file mode 100644
index 0000000..a5f55e2
--- /dev/null
+++ b/ruoyi-modules/ruoyi-pet/src/main/resources/mapper/pet/BizPetHealthLogsMapper.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/ruoyi-server/src/main/resources/application.yml b/ruoyi-server/src/main/resources/application.yml
index 2c736ab..64369cd 100644
--- a/ruoyi-server/src/main/resources/application.yml
+++ b/ruoyi-server/src/main/resources/application.yml
@@ -22,7 +22,7 @@ server:
captcha:
# 是否启用验证码校验
- enable: true
+ enable: false
# 验证码类型 math 数组计算 char 字符验证
type: MATH
# line 线段干扰 circle 圆圈干扰 shear 扭曲干扰