bing пре 1 година
родитељ
комит
e31a097743

+ 6 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/basics/controller/PtMealtypeController.java

@@ -46,6 +46,12 @@ public class PtMealtypeController extends BaseController {
         return ptMealtypeService.queryPageList(bo, pageQuery);
     }
 
+    @SaCheckPermission("basicParameter:ptMealtype:list")
+    @GetMapping("/getAll")
+    public R<List<PtMealtypeVo>> getAll(PtMealtypeBo bo) {
+        return R.ok(ptMealtypeService.queryList(bo));
+    }
+
     /**
      * 导出营业时段列表
      */

+ 117 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/consumption/controller/XfDiscounttermController.java

@@ -0,0 +1,117 @@
+package org.dromara.backstage.consumption.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.backstage.consumption.domain.vo.XfDiscounttermVo;
+import org.dromara.backstage.consumption.domain.bo.XfDiscounttermBo;
+import org.dromara.backstage.consumption.service.IXfDiscounttermService;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 折扣设备
+ * 前端访问路由地址为:/consumption/xfDiscountterm
+ *
+ * @author bing
+ * @date 2024-08-14
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/consumption/xfDiscountterm")
+public class XfDiscounttermController extends BaseController {
+
+    private final IXfDiscounttermService xfDiscounttermService;
+
+    /**
+     * 查询折扣设备列表
+     */
+    @SaCheckPermission("consumption:xfDiscountterm:list")
+    @GetMapping("/list")
+    public TableDataInfo<XfDiscounttermVo> list(XfDiscounttermBo bo, PageQuery pageQuery) {
+        return xfDiscounttermService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出折扣设备列表
+     */
+    @SaCheckPermission("consumption:xfDiscountterm:export")
+    @Log(title = "折扣设备", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(XfDiscounttermBo bo, HttpServletResponse response) {
+        List<XfDiscounttermVo> list = xfDiscounttermService.queryList(bo);
+        ExcelUtil.exportExcel(list, "折扣设备", XfDiscounttermVo.class, response);
+    }
+
+    /**
+     * 获取折扣设备详细信息
+     *
+     * @param discountTermId 主键
+     */
+    @SaCheckPermission("consumption:xfDiscountterm:query")
+    @GetMapping("/{discountTermId}")
+    public R<XfDiscounttermVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long discountTermId) {
+        return R.ok(xfDiscounttermService.queryById(discountTermId));
+    }
+
+    /**
+     * 新增折扣设备
+     */
+    @SaCheckPermission("consumption:xfDiscountterm:add")
+    @Log(title = "折扣设备", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody XfDiscounttermBo bo) {
+        return toAjax(xfDiscounttermService.insertByBo(bo));
+    }
+
+    /**
+     * 新增折扣设备
+     */
+    @SaCheckPermission("consumption:xfDiscountterm:add")
+    @Log(title = "批量添加折扣设备", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping("/batchAdd")
+    public R<Void> batchAdd(@RequestBody List<Long> ids) {
+        return toAjax(xfDiscounttermService.insertByTermIds(ids));
+    }
+
+    /**
+     * 修改折扣设备
+     */
+    @SaCheckPermission("consumption:xfDiscountterm:edit")
+    @Log(title = "折扣设备", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PutMapping()
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody XfDiscounttermBo bo) {
+        return toAjax(xfDiscounttermService.updateByBo(bo));
+    }
+
+    /**
+     * 删除折扣设备
+     *
+     * @param discountTermIds 主键串
+     */
+    @SaCheckPermission("consumption:xfDiscountterm:remove")
+    @Log(title = "折扣设备", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{discountTermIds}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] discountTermIds) {
+        return toAjax(xfDiscounttermService.deleteWithValidByIds(List.of(discountTermIds), true));
+    }
+}

+ 15 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/consumption/mapper/XfDiscounttermMapper.java

@@ -0,0 +1,15 @@
+package org.dromara.backstage.consumption.mapper;
+
+import org.dromara.backstage.consumption.domain.XfDiscountterm;
+import org.dromara.backstage.consumption.domain.vo.XfDiscounttermVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 折扣设备Mapper接口
+ *
+ * @author bing
+ * @date 2024-08-14
+ */
+public interface XfDiscounttermMapper extends BaseMapperPlus<XfDiscountterm, XfDiscounttermVo> {
+
+}

+ 76 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/consumption/service/IXfDiscounttermService.java

@@ -0,0 +1,76 @@
+package org.dromara.backstage.consumption.service;
+
+import org.dromara.backstage.consumption.domain.XfDiscountterm;
+import org.dromara.backstage.consumption.domain.vo.XfDiscounttermVo;
+import org.dromara.backstage.consumption.domain.bo.XfDiscounttermBo;
+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 bing
+ * @date 2024-08-14
+ */
+public interface IXfDiscounttermService {
+
+    /**
+     * 查询折扣设备
+     *
+     * @param discountTermId 主键
+     * @return 折扣设备
+     */
+    XfDiscounttermVo queryById(Long discountTermId);
+
+    /**
+     * 分页查询折扣设备列表
+     *
+     * @param bo        查询条件
+     * @param pageQuery 分页参数
+     * @return 折扣设备分页列表
+     */
+    TableDataInfo<XfDiscounttermVo> queryPageList(XfDiscounttermBo bo, PageQuery pageQuery);
+
+    /**
+     * 查询符合条件的折扣设备列表
+     *
+     * @param bo 查询条件
+     * @return 折扣设备列表
+     */
+    List<XfDiscounttermVo> queryList(XfDiscounttermBo bo);
+
+    /**
+     * 新增折扣设备
+     *
+     * @param bo 折扣设备
+     * @return 是否新增成功
+     */
+    Boolean insertByBo(XfDiscounttermBo bo);
+
+    /**
+     * 根据设备id批量新增折扣设备
+     * @param ids
+     * @return
+     */
+    Boolean insertByTermIds(List<Long> ids);
+
+    /**
+     * 修改折扣设备
+     *
+     * @param bo 折扣设备
+     * @return 是否修改成功
+     */
+    Boolean updateByBo(XfDiscounttermBo bo);
+
+    /**
+     * 校验并批量删除折扣设备信息
+     *
+     * @param ids     待删除的主键集合
+     * @param isValid 是否进行有效性校验
+     * @return 是否删除成功
+     */
+    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+}

+ 160 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/consumption/service/impl/XfDiscounttermServiceImpl.java

@@ -0,0 +1,160 @@
+package org.dromara.backstage.consumption.service.impl;
+
+import cn.hutool.core.collection.CollectionUtil;
+import org.dromara.common.core.exception.ServiceException;
+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.springframework.stereotype.Service;
+import org.dromara.backstage.consumption.domain.bo.XfDiscounttermBo;
+import org.dromara.backstage.consumption.domain.vo.XfDiscounttermVo;
+import org.dromara.backstage.consumption.domain.XfDiscountterm;
+import org.dromara.backstage.consumption.mapper.XfDiscounttermMapper;
+import org.dromara.backstage.consumption.service.IXfDiscounttermService;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+import java.util.stream.Collectors;
+
+/**
+ * 折扣设备Service业务层处理
+ *
+ * @author bing
+ * @date 2024-08-14
+ */
+@RequiredArgsConstructor
+@Service
+public class XfDiscounttermServiceImpl implements IXfDiscounttermService {
+
+    private final XfDiscounttermMapper baseMapper;
+
+    /**
+     * 查询折扣设备
+     *
+     * @param discountTermId 主键
+     * @return 折扣设备
+     */
+    @Override
+    public XfDiscounttermVo queryById(Long discountTermId){
+        return baseMapper.selectVoById(discountTermId);
+    }
+
+    /**
+     * 分页查询折扣设备列表
+     *
+     * @param bo        查询条件
+     * @param pageQuery 分页参数
+     * @return 折扣设备分页列表
+     */
+    @Override
+    public TableDataInfo<XfDiscounttermVo> queryPageList(XfDiscounttermBo bo, PageQuery pageQuery) {
+        LambdaQueryWrapper<XfDiscountterm> lqw = buildQueryWrapper(bo);
+        Page<XfDiscounttermVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        return TableDataInfo.build(result);
+    }
+
+    /**
+     * 查询符合条件的折扣设备列表
+     *
+     * @param bo 查询条件
+     * @return 折扣设备列表
+     */
+    @Override
+    public List<XfDiscounttermVo> queryList(XfDiscounttermBo bo) {
+        LambdaQueryWrapper<XfDiscountterm> lqw = buildQueryWrapper(bo);
+        return baseMapper.selectVoList(lqw);
+    }
+
+    private LambdaQueryWrapper<XfDiscountterm> buildQueryWrapper(XfDiscounttermBo bo) {
+        Map<String, Object> params = bo.getParams();
+        LambdaQueryWrapper<XfDiscountterm> lqw = Wrappers.lambdaQuery();
+        return lqw;
+    }
+
+    /**
+     * 新增折扣设备
+     *
+     * @param bo 折扣设备
+     * @return 是否新增成功
+     */
+    @Override
+    public Boolean insertByBo(XfDiscounttermBo bo) {
+        XfDiscountterm add = MapstructUtils.convert(bo, XfDiscountterm.class);
+        validEntityBeforeSave(add);
+        boolean flag = baseMapper.insert(add) > 0;
+        if (flag) {
+            bo.setDiscountTermId(add.getDiscountTermId());
+        }
+        return flag;
+    }
+
+    @Override
+    public Boolean insertByTermIds(List<Long> ids) {
+        LambdaQueryWrapper<XfDiscountterm> w = Wrappers.lambdaQuery();
+        w.in(XfDiscountterm::getTermId, ids);
+        List<XfDiscountterm> exists = baseMapper.selectList(w);
+        List<Long> existIds = exists.stream().map(XfDiscountterm::getTermId).toList();
+        if(CollectionUtil.isNotEmpty(existIds)){
+            List<Long> adds = ids.stream().filter(id -> !existIds.contains(id)).toList();
+            if(CollectionUtil.isNotEmpty(adds)){
+                return baseMapper.insertBatch(adds.stream().map(id -> {
+                    XfDiscountterm discountterm = new XfDiscountterm();
+                    discountterm.setTermId(id);
+                    return discountterm;
+                }).collect(Collectors.toList()));
+            }
+            return true;
+        }
+        return baseMapper.insertBatch(ids.stream().map(id -> {
+            XfDiscountterm discountterm = new XfDiscountterm();
+            discountterm.setTermId(id);
+            return discountterm;
+        }).collect(Collectors.toList()));
+    }
+
+    /**
+     * 修改折扣设备
+     *
+     * @param bo 折扣设备
+     * @return 是否修改成功
+     */
+    @Override
+    public Boolean updateByBo(XfDiscounttermBo bo) {
+        XfDiscountterm update = MapstructUtils.convert(bo, XfDiscountterm.class);
+        validEntityBeforeSave(update);
+        return baseMapper.updateById(update) > 0;
+    }
+
+    /**
+     * 保存前的数据校验
+     */
+    private void validEntityBeforeSave(XfDiscountterm entity){
+        LambdaQueryWrapper<XfDiscountterm> wrapper = Wrappers.<XfDiscountterm>lambdaQuery();
+        wrapper.eq(XfDiscountterm::getDiscountTermId, entity.getDiscountTermId())
+            .ne(entity.getDiscountTermId()!=null,XfDiscountterm::getDiscountTermId, entity.getDiscountTermId());
+        if (baseMapper.selectCount(wrapper) > 0) {
+            throw new ServiceException("设备已经存在");
+        }
+    }
+
+    /**
+     * 校验并批量删除折扣设备信息
+     *
+     * @param ids     待删除的主键集合
+     * @param isValid 是否进行有效性校验
+     * @return 是否删除成功
+     */
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //可以删除
+        }
+        return baseMapper.deleteByIds(ids) > 0;
+    }
+}