fanzherong_v 1 månad sedan
förälder
incheckning
804c0fd980
36 ändrade filer med 1833 tillägg och 0 borttagningar
  1. 28 0
      snowy-admin-web/src/api/biz/bizParkConfigApi.js
  2. 28 0
      snowy-admin-web/src/api/biz/bizProcessApi.js
  3. 28 0
      snowy-admin-web/src/api/biz/bizProcessNodeApi.js
  4. 119 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizparkconfig/controller/BizParkConfigController.java
  5. 55 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizparkconfig/entity/BizParkConfig.java
  6. 34 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizparkconfig/enums/BizParkConfigEnum.java
  7. 25 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizparkconfig/mapper/BizParkConfigMapper.java
  8. 5 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizparkconfig/mapper/mapping/BizParkConfigMapper.xml
  9. 50 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizparkconfig/param/BizParkConfigAddParam.java
  10. 55 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizparkconfig/param/BizParkConfigEditParam.java
  11. 35 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizparkconfig/param/BizParkConfigIdParam.java
  12. 51 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizparkconfig/param/BizParkConfigPageParam.java
  13. 80 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizparkconfig/service/BizParkConfigService.java
  14. 94 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizparkconfig/service/impl/BizParkConfigServiceImpl.java
  15. 119 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocess/controller/BizProcessController.java
  16. 43 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocess/entity/BizProcess.java
  17. 34 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocess/enums/BizProcessEnum.java
  18. 25 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocess/mapper/BizProcessMapper.java
  19. 5 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocess/mapper/mapping/BizProcessMapper.xml
  20. 38 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocess/param/BizProcessAddParam.java
  21. 43 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocess/param/BizProcessEditParam.java
  22. 35 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocess/param/BizProcessIdParam.java
  23. 51 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocess/param/BizProcessPageParam.java
  24. 80 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocess/service/BizProcessService.java
  25. 94 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocess/service/impl/BizProcessServiceImpl.java
  26. 119 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocessnode/controller/BizProcessNodeController.java
  27. 47 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocessnode/entity/BizProcessNode.java
  28. 34 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocessnode/enums/BizProcessNodeEnum.java
  29. 25 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocessnode/mapper/BizProcessNodeMapper.java
  30. 5 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocessnode/mapper/mapping/BizProcessNodeMapper.xml
  31. 42 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocessnode/param/BizProcessNodeAddParam.java
  32. 47 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocessnode/param/BizProcessNodeEditParam.java
  33. 35 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocessnode/param/BizProcessNodeIdParam.java
  34. 51 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocessnode/param/BizProcessNodePageParam.java
  35. 80 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocessnode/service/BizProcessNodeService.java
  36. 94 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocessnode/service/impl/BizProcessNodeServiceImpl.java

+ 28 - 0
snowy-admin-web/src/api/biz/bizParkConfigApi.js

@@ -0,0 +1,28 @@
+import { baseRequest } from '@/utils/request'
+
+const request = (url, ...arg) => baseRequest(`/biz/bizparkconfig/` + url, ...arg)
+
+/**
+ * 停车费配置Api接口管理器
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:14
+ **/
+export default {
+	// 获取停车费配置分页
+	bizParkConfigPage(data) {
+		return request('page', data, 'get')
+	},
+	// 提交停车费配置表单 edit为true时为编辑,默认为新增
+	bizParkConfigSubmitForm(data, edit = false) {
+		return request(edit ? 'edit' : 'add', data)
+	},
+	// 删除停车费配置
+	bizParkConfigDelete(data) {
+		return request('delete', data)
+	},
+	// 获取停车费配置详情
+	bizParkConfigDetail(data) {
+		return request('detail', data, 'get')
+	}
+}

+ 28 - 0
snowy-admin-web/src/api/biz/bizProcessApi.js

@@ -0,0 +1,28 @@
+import { baseRequest } from '@/utils/request'
+
+const request = (url, ...arg) => baseRequest(`/biz/bizprocess/` + url, ...arg)
+
+/**
+ * 生产工序Api接口管理器
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:09
+ **/
+export default {
+	// 获取生产工序分页
+	bizProcessPage(data) {
+		return request('page', data, 'get')
+	},
+	// 提交生产工序表单 edit为true时为编辑,默认为新增
+	bizProcessSubmitForm(data, edit = false) {
+		return request(edit ? 'edit' : 'add', data)
+	},
+	// 删除生产工序
+	bizProcessDelete(data) {
+		return request('delete', data)
+	},
+	// 获取生产工序详情
+	bizProcessDetail(data) {
+		return request('detail', data, 'get')
+	}
+}

+ 28 - 0
snowy-admin-web/src/api/biz/bizProcessNodeApi.js

@@ -0,0 +1,28 @@
+import { baseRequest } from '@/utils/request'
+
+const request = (url, ...arg) => baseRequest(`/biz/bizprocessnode/` + url, ...arg)
+
+/**
+ * 工序节点Api接口管理器
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:09
+ **/
+export default {
+	// 获取工序节点分页
+	bizProcessNodePage(data) {
+		return request('page', data, 'get')
+	},
+	// 提交工序节点表单 edit为true时为编辑,默认为新增
+	bizProcessNodeSubmitForm(data, edit = false) {
+		return request(edit ? 'edit' : 'add', data)
+	},
+	// 删除工序节点
+	bizProcessNodeDelete(data) {
+		return request('delete', data)
+	},
+	// 获取工序节点详情
+	bizProcessNodeDetail(data) {
+		return request('detail', data, 'get')
+	}
+}

+ 119 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizparkconfig/controller/BizParkConfigController.java

@@ -0,0 +1,119 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizparkconfig.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+import vip.xiaonuo.common.annotation.CommonLog;
+import vip.xiaonuo.common.pojo.CommonResult;
+import vip.xiaonuo.biz.modular.bizparkconfig.entity.BizParkConfig;
+import vip.xiaonuo.biz.modular.bizparkconfig.param.BizParkConfigAddParam;
+import vip.xiaonuo.biz.modular.bizparkconfig.param.BizParkConfigEditParam;
+import vip.xiaonuo.biz.modular.bizparkconfig.param.BizParkConfigIdParam;
+import vip.xiaonuo.biz.modular.bizparkconfig.param.BizParkConfigPageParam;
+import vip.xiaonuo.biz.modular.bizparkconfig.service.BizParkConfigService;
+
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotEmpty;
+import java.util.List;
+
+/**
+ * 停车费配置控制器
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:14
+ */
+@Tag(name = "停车费配置控制器")
+@RestController
+@Validated
+public class BizParkConfigController {
+
+    @Resource
+    private BizParkConfigService bizParkConfigService;
+
+    /**
+     * 获取停车费配置分页
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:14
+     */
+    @Operation(summary = "获取停车费配置分页")
+    @SaCheckPermission("/biz/bizparkconfig/page")
+    @GetMapping("/biz/bizparkconfig/page")
+    public CommonResult<Page<BizParkConfig>> page(BizParkConfigPageParam bizParkConfigPageParam) {
+        return CommonResult.data(bizParkConfigService.page(bizParkConfigPageParam));
+    }
+
+    /**
+     * 添加停车费配置
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:14
+     */
+    @Operation(summary = "添加停车费配置")
+    @CommonLog("添加停车费配置")
+    @PostMapping("/biz/bizparkconfig/add")
+    public CommonResult<String> add(@RequestBody @Valid BizParkConfigAddParam bizParkConfigAddParam) {
+        bizParkConfigService.add(bizParkConfigAddParam);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 编辑停车费配置
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:14
+     */
+    @Operation(summary = "编辑停车费配置")
+    @CommonLog("编辑停车费配置")
+    @PostMapping("/biz/bizparkconfig/edit")
+    public CommonResult<String> edit(@RequestBody @Valid BizParkConfigEditParam bizParkConfigEditParam) {
+        bizParkConfigService.edit(bizParkConfigEditParam);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 删除停车费配置
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:14
+     */
+    @Operation(summary = "删除停车费配置")
+    @CommonLog("删除停车费配置")
+    @PostMapping("/biz/bizparkconfig/delete")
+    public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
+                                                   List<BizParkConfigIdParam> bizParkConfigIdParamList) {
+        bizParkConfigService.delete(bizParkConfigIdParamList);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 获取停车费配置详情
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:14
+     */
+    @Operation(summary = "获取停车费配置详情")
+    @GetMapping("/biz/bizparkconfig/detail")
+    public CommonResult<BizParkConfig> detail(@Valid BizParkConfigIdParam bizParkConfigIdParam) {
+        return CommonResult.data(bizParkConfigService.detail(bizParkConfigIdParam));
+    }
+}

+ 55 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizparkconfig/entity/BizParkConfig.java

@@ -0,0 +1,55 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizparkconfig.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import vip.xiaonuo.common.pojo.CommonEntity;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 停车费配置实体
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:14
+ **/
+@Getter
+@Setter
+@TableName("biz_park_config")
+public class BizParkConfig extends CommonEntity {
+
+    /** 主键ID */
+    @TableId
+    @Schema(description = "主键ID")
+    private String id;
+
+    /** 预约类型 */
+    @Schema(description = "预约类型")
+    private String appointmentType;
+
+    /** 免费停留时长 */
+    @Schema(description = "免费停留时长")
+    private Integer freeParkTime;
+
+    /** 超出每小时费用 */
+    @Schema(description = "超出每小时费用")
+    private BigDecimal exceedAmount;
+
+    /** 支付后停留时长 */
+    @Schema(description = "支付后停留时长")
+    private Integer payAfterParkTime;
+}

+ 34 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizparkconfig/enums/BizParkConfigEnum.java

@@ -0,0 +1,34 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizparkconfig.enums;
+
+import lombok.Getter;
+
+/**
+ * 停车费配置枚举
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:14
+ **/
+@Getter
+public enum BizParkConfigEnum {
+
+    /** 测试 */
+    TEST("TEST");
+
+    private final String value;
+
+    BizParkConfigEnum(String value) {
+        this.value = value;
+    }
+}

+ 25 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizparkconfig/mapper/BizParkConfigMapper.java

@@ -0,0 +1,25 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizparkconfig.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import vip.xiaonuo.biz.modular.bizparkconfig.entity.BizParkConfig;
+
+/**
+ * 停车费配置Mapper接口
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:14
+ **/
+public interface BizParkConfigMapper extends BaseMapper<BizParkConfig> {
+}

+ 5 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizparkconfig/mapper/mapping/BizParkConfigMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="vip.xiaonuo.biz.modular.bizparkconfig.mapper.BizParkConfigMapper">
+
+</mapper>

+ 50 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizparkconfig/param/BizParkConfigAddParam.java

@@ -0,0 +1,50 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizparkconfig.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 停车费配置添加参数
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:14
+ **/
+@Getter
+@Setter
+public class BizParkConfigAddParam {
+
+    /** 预约类型 */
+    @Schema(description = "预约类型")
+    private String appointmentType;
+
+    /** 免费停留时长 */
+    @Schema(description = "免费停留时长")
+    private Integer freeParkTime;
+
+    /** 超出每小时费用 */
+    @Schema(description = "超出每小时费用")
+    private BigDecimal exceedAmount;
+
+    /** 支付后停留时长 */
+    @Schema(description = "支付后停留时长")
+    private Integer payAfterParkTime;
+
+}

+ 55 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizparkconfig/param/BizParkConfigEditParam.java

@@ -0,0 +1,55 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizparkconfig.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 停车费配置编辑参数
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:14
+ **/
+@Getter
+@Setter
+public class BizParkConfigEditParam {
+
+    /** 主键ID */
+    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotBlank(message = "id不能为空")
+    private String id;
+
+    /** 预约类型 */
+    @Schema(description = "预约类型")
+    private String appointmentType;
+
+    /** 免费停留时长 */
+    @Schema(description = "免费停留时长")
+    private Integer freeParkTime;
+
+    /** 超出每小时费用 */
+    @Schema(description = "超出每小时费用")
+    private BigDecimal exceedAmount;
+
+    /** 支付后停留时长 */
+    @Schema(description = "支付后停留时长")
+    private Integer payAfterParkTime;
+
+}

+ 35 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizparkconfig/param/BizParkConfigIdParam.java

@@ -0,0 +1,35 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizparkconfig.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+
+/**
+ * 停车费配置Id参数
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:14
+ **/
+@Getter
+@Setter
+public class BizParkConfigIdParam {
+
+    /** 主键ID */
+    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotBlank(message = "id不能为空")
+    private String id;
+}

+ 51 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizparkconfig/param/BizParkConfigPageParam.java

@@ -0,0 +1,51 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizparkconfig.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 停车费配置查询参数
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:14
+ **/
+@Getter
+@Setter
+public class BizParkConfigPageParam {
+
+    /** 当前页 */
+    @Schema(description = "当前页码")
+    private Integer current;
+
+    /** 每页条数 */
+    @Schema(description = "每页条数")
+    private Integer size;
+
+    /** 排序字段 */
+    @Schema(description = "排序字段,字段驼峰名称,如:userName")
+    private String sortField;
+
+    /** 排序方式 */
+    @Schema(description = "排序方式,升序:ASCEND;降序:DESCEND")
+    private String sortOrder;
+
+    /** 关键词 */
+    @Schema(description = "关键词")
+    private String searchKey;
+
+}

+ 80 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizparkconfig/service/BizParkConfigService.java

@@ -0,0 +1,80 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizparkconfig.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import vip.xiaonuo.biz.modular.bizparkconfig.entity.BizParkConfig;
+import vip.xiaonuo.biz.modular.bizparkconfig.param.BizParkConfigAddParam;
+import vip.xiaonuo.biz.modular.bizparkconfig.param.BizParkConfigEditParam;
+import vip.xiaonuo.biz.modular.bizparkconfig.param.BizParkConfigIdParam;
+import vip.xiaonuo.biz.modular.bizparkconfig.param.BizParkConfigPageParam;
+
+import java.util.List;
+
+/**
+ * 停车费配置Service接口
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:14
+ **/
+public interface BizParkConfigService extends IService<BizParkConfig> {
+
+    /**
+     * 获取停车费配置分页
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:14
+     */
+    Page<BizParkConfig> page(BizParkConfigPageParam bizParkConfigPageParam);
+
+    /**
+     * 添加停车费配置
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:14
+     */
+    void add(BizParkConfigAddParam bizParkConfigAddParam);
+
+    /**
+     * 编辑停车费配置
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:14
+     */
+    void edit(BizParkConfigEditParam bizParkConfigEditParam);
+
+    /**
+     * 删除停车费配置
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:14
+     */
+    void delete(List<BizParkConfigIdParam> bizParkConfigIdParamList);
+
+    /**
+     * 获取停车费配置详情
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:14
+     */
+    BizParkConfig detail(BizParkConfigIdParam bizParkConfigIdParam);
+
+    /**
+     * 获取停车费配置详情
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:14
+     **/
+    BizParkConfig queryEntity(String id);
+}

+ 94 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizparkconfig/service/impl/BizParkConfigServiceImpl.java

@@ -0,0 +1,94 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizparkconfig.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollStreamUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import vip.xiaonuo.common.enums.CommonSortOrderEnum;
+import vip.xiaonuo.common.exception.CommonException;
+import vip.xiaonuo.common.page.CommonPageRequest;
+import vip.xiaonuo.biz.modular.bizparkconfig.entity.BizParkConfig;
+import vip.xiaonuo.biz.modular.bizparkconfig.mapper.BizParkConfigMapper;
+import vip.xiaonuo.biz.modular.bizparkconfig.param.BizParkConfigAddParam;
+import vip.xiaonuo.biz.modular.bizparkconfig.param.BizParkConfigEditParam;
+import vip.xiaonuo.biz.modular.bizparkconfig.param.BizParkConfigIdParam;
+import vip.xiaonuo.biz.modular.bizparkconfig.param.BizParkConfigPageParam;
+import vip.xiaonuo.biz.modular.bizparkconfig.service.BizParkConfigService;
+
+import java.util.List;
+
+/**
+ * 停车费配置Service接口实现类
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:14
+ **/
+@Service
+public class BizParkConfigServiceImpl extends ServiceImpl<BizParkConfigMapper, BizParkConfig> implements BizParkConfigService {
+
+    @Override
+    public Page<BizParkConfig> page(BizParkConfigPageParam bizParkConfigPageParam) {
+        QueryWrapper<BizParkConfig> queryWrapper = new QueryWrapper<BizParkConfig>().checkSqlInjection();
+        if(ObjectUtil.isAllNotEmpty(bizParkConfigPageParam.getSortField(), bizParkConfigPageParam.getSortOrder())) {
+            CommonSortOrderEnum.validate(bizParkConfigPageParam.getSortOrder());
+            queryWrapper.orderBy(true, bizParkConfigPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
+                    StrUtil.toUnderlineCase(bizParkConfigPageParam.getSortField()));
+        } else {
+            queryWrapper.lambda().orderByAsc(BizParkConfig::getId);
+        }
+        return this.page(CommonPageRequest.defaultPage(), queryWrapper);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void add(BizParkConfigAddParam bizParkConfigAddParam) {
+        BizParkConfig bizParkConfig = BeanUtil.toBean(bizParkConfigAddParam, BizParkConfig.class);
+        this.save(bizParkConfig);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void edit(BizParkConfigEditParam bizParkConfigEditParam) {
+        BizParkConfig bizParkConfig = this.queryEntity(bizParkConfigEditParam.getId());
+        BeanUtil.copyProperties(bizParkConfigEditParam, bizParkConfig);
+        this.updateById(bizParkConfig);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void delete(List<BizParkConfigIdParam> bizParkConfigIdParamList) {
+        // 执行删除
+        this.removeByIds(CollStreamUtil.toList(bizParkConfigIdParamList, BizParkConfigIdParam::getId));
+    }
+
+    @Override
+    public BizParkConfig detail(BizParkConfigIdParam bizParkConfigIdParam) {
+        return this.queryEntity(bizParkConfigIdParam.getId());
+    }
+
+    @Override
+    public BizParkConfig queryEntity(String id) {
+        BizParkConfig bizParkConfig = this.getById(id);
+        if(ObjectUtil.isEmpty(bizParkConfig)) {
+            throw new CommonException("停车费配置不存在,id值为:{}", id);
+        }
+        return bizParkConfig;
+    }
+}

+ 119 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocess/controller/BizProcessController.java

@@ -0,0 +1,119 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizprocess.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+import vip.xiaonuo.common.annotation.CommonLog;
+import vip.xiaonuo.common.pojo.CommonResult;
+import vip.xiaonuo.biz.modular.bizprocess.entity.BizProcess;
+import vip.xiaonuo.biz.modular.bizprocess.param.BizProcessAddParam;
+import vip.xiaonuo.biz.modular.bizprocess.param.BizProcessEditParam;
+import vip.xiaonuo.biz.modular.bizprocess.param.BizProcessIdParam;
+import vip.xiaonuo.biz.modular.bizprocess.param.BizProcessPageParam;
+import vip.xiaonuo.biz.modular.bizprocess.service.BizProcessService;
+
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotEmpty;
+import java.util.List;
+
+/**
+ * 生产工序控制器
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:09
+ */
+@Tag(name = "生产工序控制器")
+@RestController
+@Validated
+public class BizProcessController {
+
+    @Resource
+    private BizProcessService bizProcessService;
+
+    /**
+     * 获取生产工序分页
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:09
+     */
+    @Operation(summary = "获取生产工序分页")
+    @SaCheckPermission("/biz/bizprocess/page")
+    @GetMapping("/biz/bizprocess/page")
+    public CommonResult<Page<BizProcess>> page(BizProcessPageParam bizProcessPageParam) {
+        return CommonResult.data(bizProcessService.page(bizProcessPageParam));
+    }
+
+    /**
+     * 添加生产工序
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:09
+     */
+    @Operation(summary = "添加生产工序")
+    @CommonLog("添加生产工序")
+    @PostMapping("/biz/bizprocess/add")
+    public CommonResult<String> add(@RequestBody @Valid BizProcessAddParam bizProcessAddParam) {
+        bizProcessService.add(bizProcessAddParam);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 编辑生产工序
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:09
+     */
+    @Operation(summary = "编辑生产工序")
+    @CommonLog("编辑生产工序")
+    @PostMapping("/biz/bizprocess/edit")
+    public CommonResult<String> edit(@RequestBody @Valid BizProcessEditParam bizProcessEditParam) {
+        bizProcessService.edit(bizProcessEditParam);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 删除生产工序
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:09
+     */
+    @Operation(summary = "删除生产工序")
+    @CommonLog("删除生产工序")
+    @PostMapping("/biz/bizprocess/delete")
+    public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
+                                                   List<BizProcessIdParam> bizProcessIdParamList) {
+        bizProcessService.delete(bizProcessIdParamList);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 获取生产工序详情
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:09
+     */
+    @Operation(summary = "获取生产工序详情")
+    @GetMapping("/biz/bizprocess/detail")
+    public CommonResult<BizProcess> detail(@Valid BizProcessIdParam bizProcessIdParam) {
+        return CommonResult.data(bizProcessService.detail(bizProcessIdParam));
+    }
+}

+ 43 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocess/entity/BizProcess.java

@@ -0,0 +1,43 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizprocess.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import vip.xiaonuo.common.pojo.CommonEntity;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 生产工序实体
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:09
+ **/
+@Getter
+@Setter
+@TableName("biz_process")
+public class BizProcess extends CommonEntity {
+
+    /** ID */
+    @TableId
+    @Schema(description = "ID")
+    private String id;
+
+    /** 工序名称 */
+    @Schema(description = "工序名称")
+    private String processName;
+}

+ 34 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocess/enums/BizProcessEnum.java

@@ -0,0 +1,34 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizprocess.enums;
+
+import lombok.Getter;
+
+/**
+ * 生产工序枚举
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:09
+ **/
+@Getter
+public enum BizProcessEnum {
+
+    /** 测试 */
+    TEST("TEST");
+
+    private final String value;
+
+    BizProcessEnum(String value) {
+        this.value = value;
+    }
+}

+ 25 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocess/mapper/BizProcessMapper.java

@@ -0,0 +1,25 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizprocess.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import vip.xiaonuo.biz.modular.bizprocess.entity.BizProcess;
+
+/**
+ * 生产工序Mapper接口
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:09
+ **/
+public interface BizProcessMapper extends BaseMapper<BizProcess> {
+}

+ 5 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocess/mapper/mapping/BizProcessMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="vip.xiaonuo.biz.modular.bizprocess.mapper.BizProcessMapper">
+
+</mapper>

+ 38 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocess/param/BizProcessAddParam.java

@@ -0,0 +1,38 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizprocess.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 生产工序添加参数
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:09
+ **/
+@Getter
+@Setter
+public class BizProcessAddParam {
+
+    /** 工序名称 */
+    @Schema(description = "工序名称")
+    private String processName;
+
+}

+ 43 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocess/param/BizProcessEditParam.java

@@ -0,0 +1,43 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizprocess.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 生产工序编辑参数
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:09
+ **/
+@Getter
+@Setter
+public class BizProcessEditParam {
+
+    /** ID */
+    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotBlank(message = "id不能为空")
+    private String id;
+
+    /** 工序名称 */
+    @Schema(description = "工序名称")
+    private String processName;
+
+}

+ 35 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocess/param/BizProcessIdParam.java

@@ -0,0 +1,35 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizprocess.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+
+/**
+ * 生产工序Id参数
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:09
+ **/
+@Getter
+@Setter
+public class BizProcessIdParam {
+
+    /** ID */
+    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotBlank(message = "id不能为空")
+    private String id;
+}

+ 51 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocess/param/BizProcessPageParam.java

@@ -0,0 +1,51 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizprocess.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 生产工序查询参数
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:09
+ **/
+@Getter
+@Setter
+public class BizProcessPageParam {
+
+    /** 当前页 */
+    @Schema(description = "当前页码")
+    private Integer current;
+
+    /** 每页条数 */
+    @Schema(description = "每页条数")
+    private Integer size;
+
+    /** 排序字段 */
+    @Schema(description = "排序字段,字段驼峰名称,如:userName")
+    private String sortField;
+
+    /** 排序方式 */
+    @Schema(description = "排序方式,升序:ASCEND;降序:DESCEND")
+    private String sortOrder;
+
+    /** 关键词 */
+    @Schema(description = "关键词")
+    private String searchKey;
+
+}

+ 80 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocess/service/BizProcessService.java

@@ -0,0 +1,80 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizprocess.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import vip.xiaonuo.biz.modular.bizprocess.entity.BizProcess;
+import vip.xiaonuo.biz.modular.bizprocess.param.BizProcessAddParam;
+import vip.xiaonuo.biz.modular.bizprocess.param.BizProcessEditParam;
+import vip.xiaonuo.biz.modular.bizprocess.param.BizProcessIdParam;
+import vip.xiaonuo.biz.modular.bizprocess.param.BizProcessPageParam;
+
+import java.util.List;
+
+/**
+ * 生产工序Service接口
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:09
+ **/
+public interface BizProcessService extends IService<BizProcess> {
+
+    /**
+     * 获取生产工序分页
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:09
+     */
+    Page<BizProcess> page(BizProcessPageParam bizProcessPageParam);
+
+    /**
+     * 添加生产工序
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:09
+     */
+    void add(BizProcessAddParam bizProcessAddParam);
+
+    /**
+     * 编辑生产工序
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:09
+     */
+    void edit(BizProcessEditParam bizProcessEditParam);
+
+    /**
+     * 删除生产工序
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:09
+     */
+    void delete(List<BizProcessIdParam> bizProcessIdParamList);
+
+    /**
+     * 获取生产工序详情
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:09
+     */
+    BizProcess detail(BizProcessIdParam bizProcessIdParam);
+
+    /**
+     * 获取生产工序详情
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:09
+     **/
+    BizProcess queryEntity(String id);
+}

+ 94 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocess/service/impl/BizProcessServiceImpl.java

@@ -0,0 +1,94 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizprocess.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollStreamUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import vip.xiaonuo.common.enums.CommonSortOrderEnum;
+import vip.xiaonuo.common.exception.CommonException;
+import vip.xiaonuo.common.page.CommonPageRequest;
+import vip.xiaonuo.biz.modular.bizprocess.entity.BizProcess;
+import vip.xiaonuo.biz.modular.bizprocess.mapper.BizProcessMapper;
+import vip.xiaonuo.biz.modular.bizprocess.param.BizProcessAddParam;
+import vip.xiaonuo.biz.modular.bizprocess.param.BizProcessEditParam;
+import vip.xiaonuo.biz.modular.bizprocess.param.BizProcessIdParam;
+import vip.xiaonuo.biz.modular.bizprocess.param.BizProcessPageParam;
+import vip.xiaonuo.biz.modular.bizprocess.service.BizProcessService;
+
+import java.util.List;
+
+/**
+ * 生产工序Service接口实现类
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:09
+ **/
+@Service
+public class BizProcessServiceImpl extends ServiceImpl<BizProcessMapper, BizProcess> implements BizProcessService {
+
+    @Override
+    public Page<BizProcess> page(BizProcessPageParam bizProcessPageParam) {
+        QueryWrapper<BizProcess> queryWrapper = new QueryWrapper<BizProcess>().checkSqlInjection();
+        if(ObjectUtil.isAllNotEmpty(bizProcessPageParam.getSortField(), bizProcessPageParam.getSortOrder())) {
+            CommonSortOrderEnum.validate(bizProcessPageParam.getSortOrder());
+            queryWrapper.orderBy(true, bizProcessPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
+                    StrUtil.toUnderlineCase(bizProcessPageParam.getSortField()));
+        } else {
+            queryWrapper.lambda().orderByAsc(BizProcess::getId);
+        }
+        return this.page(CommonPageRequest.defaultPage(), queryWrapper);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void add(BizProcessAddParam bizProcessAddParam) {
+        BizProcess bizProcess = BeanUtil.toBean(bizProcessAddParam, BizProcess.class);
+        this.save(bizProcess);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void edit(BizProcessEditParam bizProcessEditParam) {
+        BizProcess bizProcess = this.queryEntity(bizProcessEditParam.getId());
+        BeanUtil.copyProperties(bizProcessEditParam, bizProcess);
+        this.updateById(bizProcess);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void delete(List<BizProcessIdParam> bizProcessIdParamList) {
+        // 执行删除
+        this.removeByIds(CollStreamUtil.toList(bizProcessIdParamList, BizProcessIdParam::getId));
+    }
+
+    @Override
+    public BizProcess detail(BizProcessIdParam bizProcessIdParam) {
+        return this.queryEntity(bizProcessIdParam.getId());
+    }
+
+    @Override
+    public BizProcess queryEntity(String id) {
+        BizProcess bizProcess = this.getById(id);
+        if(ObjectUtil.isEmpty(bizProcess)) {
+            throw new CommonException("生产工序不存在,id值为:{}", id);
+        }
+        return bizProcess;
+    }
+}

+ 119 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocessnode/controller/BizProcessNodeController.java

@@ -0,0 +1,119 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizprocessnode.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+import vip.xiaonuo.common.annotation.CommonLog;
+import vip.xiaonuo.common.pojo.CommonResult;
+import vip.xiaonuo.biz.modular.bizprocessnode.entity.BizProcessNode;
+import vip.xiaonuo.biz.modular.bizprocessnode.param.BizProcessNodeAddParam;
+import vip.xiaonuo.biz.modular.bizprocessnode.param.BizProcessNodeEditParam;
+import vip.xiaonuo.biz.modular.bizprocessnode.param.BizProcessNodeIdParam;
+import vip.xiaonuo.biz.modular.bizprocessnode.param.BizProcessNodePageParam;
+import vip.xiaonuo.biz.modular.bizprocessnode.service.BizProcessNodeService;
+
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotEmpty;
+import java.util.List;
+
+/**
+ * 工序节点控制器
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:09
+ */
+@Tag(name = "工序节点控制器")
+@RestController
+@Validated
+public class BizProcessNodeController {
+
+    @Resource
+    private BizProcessNodeService bizProcessNodeService;
+
+    /**
+     * 获取工序节点分页
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:09
+     */
+    @Operation(summary = "获取工序节点分页")
+    @SaCheckPermission("/biz/bizprocessnode/page")
+    @GetMapping("/biz/bizprocessnode/page")
+    public CommonResult<Page<BizProcessNode>> page(BizProcessNodePageParam bizProcessNodePageParam) {
+        return CommonResult.data(bizProcessNodeService.page(bizProcessNodePageParam));
+    }
+
+    /**
+     * 添加工序节点
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:09
+     */
+    @Operation(summary = "添加工序节点")
+    @CommonLog("添加工序节点")
+    @PostMapping("/biz/bizprocessnode/add")
+    public CommonResult<String> add(@RequestBody @Valid BizProcessNodeAddParam bizProcessNodeAddParam) {
+        bizProcessNodeService.add(bizProcessNodeAddParam);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 编辑工序节点
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:09
+     */
+    @Operation(summary = "编辑工序节点")
+    @CommonLog("编辑工序节点")
+    @PostMapping("/biz/bizprocessnode/edit")
+    public CommonResult<String> edit(@RequestBody @Valid BizProcessNodeEditParam bizProcessNodeEditParam) {
+        bizProcessNodeService.edit(bizProcessNodeEditParam);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 删除工序节点
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:09
+     */
+    @Operation(summary = "删除工序节点")
+    @CommonLog("删除工序节点")
+    @PostMapping("/biz/bizprocessnode/delete")
+    public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
+                                                   List<BizProcessNodeIdParam> bizProcessNodeIdParamList) {
+        bizProcessNodeService.delete(bizProcessNodeIdParamList);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 获取工序节点详情
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:09
+     */
+    @Operation(summary = "获取工序节点详情")
+    @GetMapping("/biz/bizprocessnode/detail")
+    public CommonResult<BizProcessNode> detail(@Valid BizProcessNodeIdParam bizProcessNodeIdParam) {
+        return CommonResult.data(bizProcessNodeService.detail(bizProcessNodeIdParam));
+    }
+}

+ 47 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocessnode/entity/BizProcessNode.java

@@ -0,0 +1,47 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizprocessnode.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import vip.xiaonuo.common.pojo.CommonEntity;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 工序节点实体
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:09
+ **/
+@Getter
+@Setter
+@TableName("biz_process_node")
+public class BizProcessNode extends CommonEntity {
+
+    /** 主键ID */
+    @TableId
+    @Schema(description = "主键ID")
+    private String id;
+
+    /** 工序id */
+    @Schema(description = "工序id")
+    private String processId;
+
+    /** 节点名称 */
+    @Schema(description = "节点名称")
+    private String nodeName;
+}

+ 34 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocessnode/enums/BizProcessNodeEnum.java

@@ -0,0 +1,34 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizprocessnode.enums;
+
+import lombok.Getter;
+
+/**
+ * 工序节点枚举
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:09
+ **/
+@Getter
+public enum BizProcessNodeEnum {
+
+    /** 测试 */
+    TEST("TEST");
+
+    private final String value;
+
+    BizProcessNodeEnum(String value) {
+        this.value = value;
+    }
+}

+ 25 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocessnode/mapper/BizProcessNodeMapper.java

@@ -0,0 +1,25 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizprocessnode.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import vip.xiaonuo.biz.modular.bizprocessnode.entity.BizProcessNode;
+
+/**
+ * 工序节点Mapper接口
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:09
+ **/
+public interface BizProcessNodeMapper extends BaseMapper<BizProcessNode> {
+}

+ 5 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocessnode/mapper/mapping/BizProcessNodeMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="vip.xiaonuo.biz.modular.bizprocessnode.mapper.BizProcessNodeMapper">
+
+</mapper>

+ 42 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocessnode/param/BizProcessNodeAddParam.java

@@ -0,0 +1,42 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizprocessnode.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 工序节点添加参数
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:09
+ **/
+@Getter
+@Setter
+public class BizProcessNodeAddParam {
+
+    /** 工序id */
+    @Schema(description = "工序id")
+    private String processId;
+
+    /** 节点名称 */
+    @Schema(description = "节点名称")
+    private String nodeName;
+
+}

+ 47 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocessnode/param/BizProcessNodeEditParam.java

@@ -0,0 +1,47 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizprocessnode.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 工序节点编辑参数
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:09
+ **/
+@Getter
+@Setter
+public class BizProcessNodeEditParam {
+
+    /** 主键ID */
+    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotBlank(message = "id不能为空")
+    private String id;
+
+    /** 工序id */
+    @Schema(description = "工序id")
+    private String processId;
+
+    /** 节点名称 */
+    @Schema(description = "节点名称")
+    private String nodeName;
+
+}

+ 35 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocessnode/param/BizProcessNodeIdParam.java

@@ -0,0 +1,35 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizprocessnode.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+
+/**
+ * 工序节点Id参数
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:09
+ **/
+@Getter
+@Setter
+public class BizProcessNodeIdParam {
+
+    /** 主键ID */
+    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotBlank(message = "id不能为空")
+    private String id;
+}

+ 51 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocessnode/param/BizProcessNodePageParam.java

@@ -0,0 +1,51 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizprocessnode.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 工序节点查询参数
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:09
+ **/
+@Getter
+@Setter
+public class BizProcessNodePageParam {
+
+    /** 当前页 */
+    @Schema(description = "当前页码")
+    private Integer current;
+
+    /** 每页条数 */
+    @Schema(description = "每页条数")
+    private Integer size;
+
+    /** 排序字段 */
+    @Schema(description = "排序字段,字段驼峰名称,如:userName")
+    private String sortField;
+
+    /** 排序方式 */
+    @Schema(description = "排序方式,升序:ASCEND;降序:DESCEND")
+    private String sortOrder;
+
+    /** 关键词 */
+    @Schema(description = "关键词")
+    private String searchKey;
+
+}

+ 80 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocessnode/service/BizProcessNodeService.java

@@ -0,0 +1,80 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizprocessnode.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import vip.xiaonuo.biz.modular.bizprocessnode.entity.BizProcessNode;
+import vip.xiaonuo.biz.modular.bizprocessnode.param.BizProcessNodeAddParam;
+import vip.xiaonuo.biz.modular.bizprocessnode.param.BizProcessNodeEditParam;
+import vip.xiaonuo.biz.modular.bizprocessnode.param.BizProcessNodeIdParam;
+import vip.xiaonuo.biz.modular.bizprocessnode.param.BizProcessNodePageParam;
+
+import java.util.List;
+
+/**
+ * 工序节点Service接口
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:09
+ **/
+public interface BizProcessNodeService extends IService<BizProcessNode> {
+
+    /**
+     * 获取工序节点分页
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:09
+     */
+    Page<BizProcessNode> page(BizProcessNodePageParam bizProcessNodePageParam);
+
+    /**
+     * 添加工序节点
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:09
+     */
+    void add(BizProcessNodeAddParam bizProcessNodeAddParam);
+
+    /**
+     * 编辑工序节点
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:09
+     */
+    void edit(BizProcessNodeEditParam bizProcessNodeEditParam);
+
+    /**
+     * 删除工序节点
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:09
+     */
+    void delete(List<BizProcessNodeIdParam> bizProcessNodeIdParamList);
+
+    /**
+     * 获取工序节点详情
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:09
+     */
+    BizProcessNode detail(BizProcessNodeIdParam bizProcessNodeIdParam);
+
+    /**
+     * 获取工序节点详情
+     *
+     * @author fanzherong
+     * @date  2025/05/29 15:09
+     **/
+    BizProcessNode queryEntity(String id);
+}

+ 94 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizprocessnode/service/impl/BizProcessNodeServiceImpl.java

@@ -0,0 +1,94 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizprocessnode.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollStreamUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import vip.xiaonuo.common.enums.CommonSortOrderEnum;
+import vip.xiaonuo.common.exception.CommonException;
+import vip.xiaonuo.common.page.CommonPageRequest;
+import vip.xiaonuo.biz.modular.bizprocessnode.entity.BizProcessNode;
+import vip.xiaonuo.biz.modular.bizprocessnode.mapper.BizProcessNodeMapper;
+import vip.xiaonuo.biz.modular.bizprocessnode.param.BizProcessNodeAddParam;
+import vip.xiaonuo.biz.modular.bizprocessnode.param.BizProcessNodeEditParam;
+import vip.xiaonuo.biz.modular.bizprocessnode.param.BizProcessNodeIdParam;
+import vip.xiaonuo.biz.modular.bizprocessnode.param.BizProcessNodePageParam;
+import vip.xiaonuo.biz.modular.bizprocessnode.service.BizProcessNodeService;
+
+import java.util.List;
+
+/**
+ * 工序节点Service接口实现类
+ *
+ * @author fanzherong
+ * @date  2025/05/29 15:09
+ **/
+@Service
+public class BizProcessNodeServiceImpl extends ServiceImpl<BizProcessNodeMapper, BizProcessNode> implements BizProcessNodeService {
+
+    @Override
+    public Page<BizProcessNode> page(BizProcessNodePageParam bizProcessNodePageParam) {
+        QueryWrapper<BizProcessNode> queryWrapper = new QueryWrapper<BizProcessNode>().checkSqlInjection();
+        if(ObjectUtil.isAllNotEmpty(bizProcessNodePageParam.getSortField(), bizProcessNodePageParam.getSortOrder())) {
+            CommonSortOrderEnum.validate(bizProcessNodePageParam.getSortOrder());
+            queryWrapper.orderBy(true, bizProcessNodePageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
+                    StrUtil.toUnderlineCase(bizProcessNodePageParam.getSortField()));
+        } else {
+            queryWrapper.lambda().orderByAsc(BizProcessNode::getId);
+        }
+        return this.page(CommonPageRequest.defaultPage(), queryWrapper);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void add(BizProcessNodeAddParam bizProcessNodeAddParam) {
+        BizProcessNode bizProcessNode = BeanUtil.toBean(bizProcessNodeAddParam, BizProcessNode.class);
+        this.save(bizProcessNode);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void edit(BizProcessNodeEditParam bizProcessNodeEditParam) {
+        BizProcessNode bizProcessNode = this.queryEntity(bizProcessNodeEditParam.getId());
+        BeanUtil.copyProperties(bizProcessNodeEditParam, bizProcessNode);
+        this.updateById(bizProcessNode);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void delete(List<BizProcessNodeIdParam> bizProcessNodeIdParamList) {
+        // 执行删除
+        this.removeByIds(CollStreamUtil.toList(bizProcessNodeIdParamList, BizProcessNodeIdParam::getId));
+    }
+
+    @Override
+    public BizProcessNode detail(BizProcessNodeIdParam bizProcessNodeIdParam) {
+        return this.queryEntity(bizProcessNodeIdParam.getId());
+    }
+
+    @Override
+    public BizProcessNode queryEntity(String id) {
+        BizProcessNode bizProcessNode = this.getById(id);
+        if(ObjectUtil.isEmpty(bizProcessNode)) {
+            throw new CommonException("工序节点不存在,id值为:{}", id);
+        }
+        return bizProcessNode;
+    }
+}