LIVE_YE 1 rok temu
rodzic
commit
0b6faec848

+ 1 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/recipe/SchoolRecipeController.java

@@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.constraints.*;
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.dromara.system.service.ISchoolRecipeService;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.validation.annotation.Validated;
 import org.dromara.common.idempotent.annotation.RepeatSubmit;
@@ -19,7 +20,6 @@ import org.dromara.common.log.enums.BusinessType;
 import org.dromara.common.excel.utils.ExcelUtil;
 import org.dromara.system.domain.vo.SchoolRecipeVo;
 import org.dromara.system.domain.bo.SchoolRecipeBo;
-import org.dromara.system.service.ISchoolRecipeService;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 
 /**

+ 8 - 9
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SchoolRecipe.java

@@ -33,25 +33,24 @@ public class SchoolRecipe extends TenantEntity {
     private Long schoolId;
 
     /**
-     * 附件名称
+     * 就餐类型(1:早餐,2:午餐,3:晚餐,4:宵夜)
      */
-    private String name;
+    private String type;
 
     /**
-     * 附件地址
+     * 上传日期
      */
-    private String url;
+    private String createDate;
 
     /**
-     * 就餐类型(1:早餐,2:午餐,3:晚餐,4:宵夜
+     * 附件地址(,号分割
      */
-    private String type;
+    private String urls;
 
     /**
-     * 上传日期
+     * 描述
      */
-    private String createDate;
-
+    private String description;
 
     /**
      * 备注

+ 17 - 16
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SchoolRecipeBo.java

@@ -1,13 +1,13 @@
 package org.dromara.system.domain.bo;
 
-import org.dromara.system.domain.SchoolRecipe;
-import org.dromara.common.mybatis.core.domain.BaseEntity;
-import org.dromara.common.core.validate.AddGroup;
-import org.dromara.common.core.validate.EditGroup;
+import com.baomidou.mybatisplus.annotation.TableField;
 import io.github.linpeilie.annotations.AutoMapper;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import jakarta.validation.constraints.*;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.system.domain.SchoolRecipe;
+
+import java.util.List;
 
 /**
  * 学校食谱业务对象 school_recipe
@@ -33,27 +33,27 @@ public class SchoolRecipeBo extends BaseEntity {
     private Long schoolId;
 
     /**
-     * 附件名称
+     * 就餐类型(1:早餐,2:午餐,3:晚餐,4:宵夜)
      */
-    //@NotBlank(message = "附件名称不能为空", groups = { AddGroup.class, EditGroup.class })
-    private String name;
+    //@NotBlank(message = "就餐类型(1:早餐,2:午餐,3:晚餐,4:宵夜)不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String type;
 
     /**
-     * 附件地址
+     * 上传日期
      */
-    //@NotBlank(message = "附件地址不能为空", groups = { AddGroup.class, EditGroup.class })
-    private String url;
+    //@NotBlank(message = "上传日期不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String createDate;
 
     /**
-     * 就餐类型(1:早餐,2:午餐,3:晚餐,4:宵夜
+     * 附件地址(,号分割
      */
-    private String type;
+    private String urls;
 
     /**
-     * 上传日期
+     * 描述
      */
-    //@NotBlank(message = "上传日期不能为空", groups = { AddGroup.class, EditGroup.class })
-    private String createDate;
+    //@NotBlank(message = "描述不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String description;
 
     /**
      * 备注
@@ -62,4 +62,5 @@ public class SchoolRecipeBo extends BaseEntity {
     private String remark;
 
 
+
 }

+ 14 - 12
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SchoolRecipeVo.java

@@ -1,5 +1,6 @@
 package org.dromara.system.domain.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import org.dromara.system.domain.SchoolRecipe;
 import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
 import com.alibaba.excel.annotation.ExcelProperty;
@@ -11,7 +12,7 @@ import lombok.Data;
 import java.io.Serial;
 import java.io.Serializable;
 import java.util.Date;
-
+import java.util.List;
 
 
 /**
@@ -41,16 +42,11 @@ public class SchoolRecipeVo implements Serializable {
     private Long schoolId;
 
     /**
-     * 附件名称
-     */
-    @ExcelProperty(value = "附件名称")
-    private String name;
-
-    /**
-     * 附件地址
+     * 就餐类型(1:早餐,2:午餐,3:晚餐,4:宵夜)
      */
-    @ExcelProperty(value = "附件地址")
-    private String url;
+    @ExcelProperty(value = "就餐类型", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(readConverterExp = "1=:早餐,2:午餐,3:晚餐,4:宵夜")
+    private String type;
 
     /**
      * 上传日期
@@ -59,9 +55,15 @@ public class SchoolRecipeVo implements Serializable {
     private String createDate;
 
     /**
-     * 就餐类型(1:早餐,2:午餐,3:晚餐,4:宵夜
+     * 附件地址(,号分割
      */
-    private String type;
+    private String urls;
+
+    /**
+     * 描述
+     */
+    @ExcelProperty(value = "描述")
+    private String description;
 
     /**
      * 备注

+ 32 - 18
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SchoolRecipeServiceImpl.java

@@ -1,26 +1,28 @@
 package org.dromara.system.service.impl;
 
-import org.dromara.common.core.domain.model.LoginUser;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.RequiredArgsConstructor;
+import lombok.SneakyThrows;
+import org.dromara.common.core.exception.ServiceException;
 import org.dromara.common.core.utils.DateUtils;
 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 org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.common.satoken.utils.LoginHelper;
-import org.springframework.stereotype.Service;
+import org.dromara.system.domain.SchoolRecipe;
 import org.dromara.system.domain.bo.SchoolRecipeBo;
 import org.dromara.system.domain.vo.SchoolRecipeVo;
-import org.dromara.system.domain.SchoolRecipe;
 import org.dromara.system.mapper.SchoolRecipeMapper;
 import org.dromara.system.service.ISchoolRecipeService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import java.util.Collection;
 
 /**
  * 学校食谱Service业务层处理
@@ -38,7 +40,7 @@ public class SchoolRecipeServiceImpl implements ISchoolRecipeService {
      * 查询学校食谱
      */
     @Override
-    public SchoolRecipeVo queryById(Long id){
+    public SchoolRecipeVo queryById(Long id) {
         return baseMapper.selectVoById(id);
     }
 
@@ -47,9 +49,6 @@ public class SchoolRecipeServiceImpl implements ISchoolRecipeService {
      */
     @Override
     public TableDataInfo<SchoolRecipeVo> queryPageList(SchoolRecipeBo bo, PageQuery pageQuery) {
-        if(StringUtils.isEmpty(bo.getCreateDate())){
-            bo.setCreateDate(DateUtils.getDate());
-        }
         LambdaQueryWrapper<SchoolRecipe> lqw = buildQueryWrapper(bo);
         Page<SchoolRecipeVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
         return TableDataInfo.build(result);
@@ -68,10 +67,9 @@ public class SchoolRecipeServiceImpl implements ISchoolRecipeService {
         Map<String, Object> params = bo.getParams();
         LambdaQueryWrapper<SchoolRecipe> lqw = Wrappers.lambdaQuery();
         lqw.eq(bo.getSchoolId() != null, SchoolRecipe::getSchoolId, bo.getSchoolId());
-        lqw.like(StringUtils.isNotBlank(bo.getName()), SchoolRecipe::getName, bo.getName());
-        lqw.eq(StringUtils.isNotBlank(bo.getUrl()), SchoolRecipe::getUrl, bo.getUrl());
         lqw.eq(StringUtils.isNotBlank(bo.getType()), SchoolRecipe::getType, bo.getType());
         lqw.eq(StringUtils.isNotBlank(bo.getCreateDate()), SchoolRecipe::getCreateDate, bo.getCreateDate());
+        lqw.eq(StringUtils.isNotBlank(bo.getDescription()), SchoolRecipe::getDescription, bo.getDescription());
         lqw.orderByDesc(SchoolRecipe::getCreateTime);
         return lqw;
     }
@@ -79,13 +77,27 @@ public class SchoolRecipeServiceImpl implements ISchoolRecipeService {
     /**
      * 新增学校食谱
      */
+    @SneakyThrows
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean insertByBo(SchoolRecipeBo bo) {
-        bo.setCreateDate(DateUtils.getDate());
+        //查询是否存在当天的当前就餐类型数据
+        SchoolRecipeBo b = new SchoolRecipeBo();
+        b.setCreateDate(DateUtils.getDate());
+        b.setType(bo.getType());
+        LambdaQueryWrapper<SchoolRecipe> lqw = buildQueryWrapper(b);
+        List<SchoolRecipeVo> voList = baseMapper.selectVoList(lqw);
+        if (voList != null && voList.size() > 0) {
+            throw new ServiceException("当前就餐类型已添加,请勿重复新增");
+        }
+
         bo.setSchoolId(LoginHelper.getDeptId());
+        bo.setCreateDate(DateUtils.getDate());
+
         SchoolRecipe add = MapstructUtils.convert(bo, SchoolRecipe.class);
         validEntityBeforeSave(add);
         boolean flag = baseMapper.insert(add) > 0;
+
         if (flag) {
             bo.setId(add.getId());
         }
@@ -95,7 +107,9 @@ public class SchoolRecipeServiceImpl implements ISchoolRecipeService {
     /**
      * 修改学校食谱
      */
+    @SneakyThrows
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean updateByBo(SchoolRecipeBo bo) {
         SchoolRecipe update = MapstructUtils.convert(bo, SchoolRecipe.class);
         validEntityBeforeSave(update);
@@ -105,7 +119,7 @@ public class SchoolRecipeServiceImpl implements ISchoolRecipeService {
     /**
      * 保存前的数据校验
      */
-    private void validEntityBeforeSave(SchoolRecipe entity){
+    private void validEntityBeforeSave(SchoolRecipe entity) {
         //TODO 做一些数据校验,如唯一约束
     }
 
@@ -114,7 +128,7 @@ public class SchoolRecipeServiceImpl implements ISchoolRecipeService {
      */
     @Override
     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
+        if (isValid) {
             //TODO 做一些业务上的校验,判断是否需要校验
         }
         return baseMapper.deleteBatchIds(ids) > 0;