From 568b5575dc05f562cec8216241b942952e9723d6 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 17 二月 2025 10:07:55 +0800
Subject: [PATCH] jtt808初始化
---
server/services/src/main/java/com/doumee/dao/business/model/DiscountMember.java | 162 ++++++
server/db/business.discount_log.permissions.sql | 6
server/services/src/main/java/com/doumee/service/business/impl/DiscountServiceImpl.java | 203 +++++++
server/db/business.discount.permissions.sql | 6
server/db/business.discount_member.permissions.sql | 6
server/services/src/main/java/com/doumee/service/business/DiscountMemberService.java | 97 +++
server/platform/src/main/java/com/doumee/api/business/DiscountController.java | 90 +++
server/services/src/main/java/com/doumee/dao/business/model/DiscountLog.java | 82 +++
server/services/src/main/java/com/doumee/service/business/DiscountService.java | 97 +++
server/services/src/main/java/com/doumee/dao/business/DiscountLogMapper.java | 12
server/services/src/main/java/com/doumee/dao/business/DiscountMapper.java | 12
server/services/src/main/java/com/doumee/dao/business/DiscountMemberMapper.java | 12
server/platform/src/main/java/com/doumee/api/business/DiscountMemberController.java | 90 +++
server/services/src/main/java/com/doumee/service/business/impl/DiscountLogServiceImpl.java | 151 +++++
server/services/src/main/java/com/doumee/service/business/impl/DiscountMemberServiceImpl.java | 212 +++++++
server/platform/src/main/java/com/doumee/api/business/DiscountLogController.java | 90 +++
server/services/src/main/java/com/doumee/dao/business/model/Goodsorder.java | 9
server/services/src/main/java/com/doumee/service/business/DiscountLogService.java | 97 +++
server/services/src/main/java/com/doumee/dao/business/model/Discount.java | 150 +++++
19 files changed, 1,581 insertions(+), 3 deletions(-)
diff --git a/server/db/business.discount.permissions.sql b/server/db/business.discount.permissions.sql
new file mode 100644
index 0000000..64c590c
--- /dev/null
+++ b/server/db/business.discount.permissions.sql
@@ -0,0 +1,6 @@
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:discount:create', '鏂板缓楠戣濂楅淇℃伅琛�', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:discount:delete', '鍒犻櫎楠戣濂楅淇℃伅琛�', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:discount:update', '淇敼楠戣濂楅淇℃伅琛�', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:discount:query', '鏌ヨ楠戣濂楅淇℃伅琛�', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:discount:exportExcel', '瀵煎嚭楠戣濂楅淇℃伅琛�(Excel)', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+
diff --git a/server/db/business.discount_log.permissions.sql b/server/db/business.discount_log.permissions.sql
new file mode 100644
index 0000000..2e73527
--- /dev/null
+++ b/server/db/business.discount_log.permissions.sql
@@ -0,0 +1,6 @@
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:discountlog:create', '鏂板缓鐢ㄦ埛濂楅鍗′娇鐢ㄨ皟鏁存棩蹇楄〃', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:discountlog:delete', '鍒犻櫎鐢ㄦ埛濂楅鍗′娇鐢ㄨ皟鏁存棩蹇楄〃', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:discountlog:update', '淇敼鐢ㄦ埛濂楅鍗′娇鐢ㄨ皟鏁存棩蹇楄〃', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:discountlog:query', '鏌ヨ鐢ㄦ埛濂楅鍗′娇鐢ㄨ皟鏁存棩蹇楄〃', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:discountlog:exportExcel', '瀵煎嚭鐢ㄦ埛濂楅鍗′娇鐢ㄨ皟鏁存棩蹇楄〃(Excel)', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+
diff --git a/server/db/business.discount_member.permissions.sql b/server/db/business.discount_member.permissions.sql
new file mode 100644
index 0000000..1943ff8
--- /dev/null
+++ b/server/db/business.discount_member.permissions.sql
@@ -0,0 +1,6 @@
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:discountmember:create', '鏂板缓鐢ㄦ埛楠戣濂楅鍗″叧鑱旇〃', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:discountmember:delete', '鍒犻櫎鐢ㄦ埛楠戣濂楅鍗″叧鑱旇〃', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:discountmember:update', '淇敼鐢ㄦ埛楠戣濂楅鍗″叧鑱旇〃', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:discountmember:query', '鏌ヨ鐢ㄦ埛楠戣濂楅鍗″叧鑱旇〃', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:discountmember:exportExcel', '瀵煎嚭鐢ㄦ埛楠戣濂楅鍗″叧鑱旇〃(Excel)', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+
diff --git a/server/platform/src/main/java/com/doumee/api/business/DiscountController.java b/server/platform/src/main/java/com/doumee/api/business/DiscountController.java
new file mode 100644
index 0000000..5da9753
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/api/business/DiscountController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.model.PageData;
+import com.doumee.dao.business.model.Discount;
+import com.doumee.service.business.DiscountService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2025/02/17 09:43
+ */
+@Api(tags = "楠戣濂楅淇℃伅琛�")
+@RestController
+@RequestMapping("/business/discount")
+public class DiscountController extends BaseController {
+
+ @Autowired
+ private DiscountService discountService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:discount:create")
+ public ApiResponse create(@RequestBody Discount discount) {
+ return ApiResponse.success(discountService.create(discount));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:discount:delete")
+ public ApiResponse deleteById(@PathVariable String id) {
+ discountService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:discount:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<String> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(id);
+ }
+ discountService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:discount:update")
+ public ApiResponse updateById(@RequestBody Discount discount) {
+ discountService.updateById(discount);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:discount:query")
+ public ApiResponse<PageData<Discount>> findPage (@RequestBody PageWrap<Discount> pageWrap) {
+ return ApiResponse.success(discountService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:discount:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<Discount> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(Discount.class).export(discountService.findPage(pageWrap).getRecords(), "楠戣濂楅淇℃伅琛�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:discount:query")
+ public ApiResponse findById(@PathVariable String id) {
+ return ApiResponse.success(discountService.findById(id));
+ }
+}
diff --git a/server/platform/src/main/java/com/doumee/api/business/DiscountLogController.java b/server/platform/src/main/java/com/doumee/api/business/DiscountLogController.java
new file mode 100644
index 0000000..343f500
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/api/business/DiscountLogController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.model.PageData;
+import com.doumee.dao.business.model.DiscountLog;
+import com.doumee.service.business.DiscountLogService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2025/02/17 09:43
+ */
+@Api(tags = "鐢ㄦ埛濂楅鍗′娇鐢ㄨ皟鏁存棩蹇楄〃")
+@RestController
+@RequestMapping("/business/discountLog")
+public class DiscountLogController extends BaseController {
+
+ @Autowired
+ private DiscountLogService discountLogService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:discountlog:create")
+ public ApiResponse create(@RequestBody DiscountLog discountLog) {
+ return ApiResponse.success(discountLogService.create(discountLog));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:discountlog:delete")
+ public ApiResponse deleteById(@PathVariable String id) {
+ discountLogService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:discountlog:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<String> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(id);
+ }
+ discountLogService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:discountlog:update")
+ public ApiResponse updateById(@RequestBody DiscountLog discountLog) {
+ discountLogService.updateById(discountLog);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:discountlog:query")
+ public ApiResponse<PageData<DiscountLog>> findPage (@RequestBody PageWrap<DiscountLog> pageWrap) {
+ return ApiResponse.success(discountLogService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:discountlog:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<DiscountLog> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(DiscountLog.class).export(discountLogService.findPage(pageWrap).getRecords(), "鐢ㄦ埛濂楅鍗′娇鐢ㄨ皟鏁存棩蹇楄〃", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:discountlog:query")
+ public ApiResponse findById(@PathVariable String id) {
+ return ApiResponse.success(discountLogService.findById(id));
+ }
+}
diff --git a/server/platform/src/main/java/com/doumee/api/business/DiscountMemberController.java b/server/platform/src/main/java/com/doumee/api/business/DiscountMemberController.java
new file mode 100644
index 0000000..c429612
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/api/business/DiscountMemberController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.model.PageData;
+import com.doumee.dao.business.model.DiscountMember;
+import com.doumee.service.business.DiscountMemberService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2025/02/17 09:43
+ */
+@Api(tags = "鐢ㄦ埛楠戣濂楅鍗″叧鑱旇〃")
+@RestController
+@RequestMapping("/business/discountMember")
+public class DiscountMemberController extends BaseController {
+
+ @Autowired
+ private DiscountMemberService discountMemberService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:discountmember:create")
+ public ApiResponse create(@RequestBody DiscountMember discountMember) {
+ return ApiResponse.success(discountMemberService.create(discountMember));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:discountmember:delete")
+ public ApiResponse deleteById(@PathVariable String id) {
+ discountMemberService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:discountmember:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<String> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(id);
+ }
+ discountMemberService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:discountmember:update")
+ public ApiResponse updateById(@RequestBody DiscountMember discountMember) {
+ discountMemberService.updateById(discountMember);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:discountmember:query")
+ public ApiResponse<PageData<DiscountMember>> findPage (@RequestBody PageWrap<DiscountMember> pageWrap) {
+ return ApiResponse.success(discountMemberService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:discountmember:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<DiscountMember> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(DiscountMember.class).export(discountMemberService.findPage(pageWrap).getRecords(), "鐢ㄦ埛楠戣濂楅鍗″叧鑱旇〃", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:discountmember:query")
+ public ApiResponse findById(@PathVariable String id) {
+ return ApiResponse.success(discountMemberService.findById(id));
+ }
+}
diff --git a/server/services/src/main/java/com/doumee/dao/business/DiscountLogMapper.java b/server/services/src/main/java/com/doumee/dao/business/DiscountLogMapper.java
new file mode 100644
index 0000000..471c3b1
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/dao/business/DiscountLogMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.DiscountLog;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2025/02/17 09:43
+ */
+public interface DiscountLogMapper extends BaseMapper<DiscountLog> {
+
+}
diff --git a/server/services/src/main/java/com/doumee/dao/business/DiscountMapper.java b/server/services/src/main/java/com/doumee/dao/business/DiscountMapper.java
new file mode 100644
index 0000000..847061b
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/dao/business/DiscountMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.Discount;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2025/02/17 09:43
+ */
+public interface DiscountMapper extends BaseMapper<Discount> {
+
+}
diff --git a/server/services/src/main/java/com/doumee/dao/business/DiscountMemberMapper.java b/server/services/src/main/java/com/doumee/dao/business/DiscountMemberMapper.java
new file mode 100644
index 0000000..664aa29
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/dao/business/DiscountMemberMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.DiscountMember;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2025/02/17 09:43
+ */
+public interface DiscountMemberMapper extends BaseMapper<DiscountMember> {
+
+}
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/Discount.java b/server/services/src/main/java/com/doumee/dao/business/model/Discount.java
new file mode 100644
index 0000000..8ee8eef
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/dao/business/model/Discount.java
@@ -0,0 +1,150 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+import java.math.BigDecimal;
+
+/**
+ * 楠戣濂楅淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2025/02/17 09:43
+ */
+@Data
+@ApiModel("楠戣濂楅淇℃伅琛�")
+@TableName("\"discount\"")
+public class Discount {
+
+ @ApiModelProperty(value = "缂栫爜")
+ @ExcelColumn(name="缂栫爜")
+ private String id;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @ExcelColumn(name="鍒涘缓鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date createDate;
+
+ @ApiModelProperty(value = "鍒涘缓浜�")
+ @ExcelColumn(name="鍒涘缓浜�")
+ private String creator;
+
+ @ApiModelProperty(value = "缂栬緫鏃堕棿")
+ @ExcelColumn(name="缂栬緫鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date editDate;
+
+ @ApiModelProperty(value = "缂栬緫浜�")
+ @ExcelColumn(name="缂栬緫浜�")
+ private String editor;
+
+ @ApiModelProperty(value = "鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�", example = "1")
+ @ExcelColumn(name="鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�")
+ private Integer isdeleted;
+
+ @ApiModelProperty(value = "澶囨敞")
+ @ExcelColumn(name="澶囨敞")
+ private String info;
+
+ @ApiModelProperty(value = "鍚嶇О")
+ @ExcelColumn(name="鍚嶇О")
+ private String name;
+
+ @ApiModelProperty(value = "绫诲瀷 0鏈熼檺鍗� 1娆″崱", example = "1")
+ @ExcelColumn(name="绫诲瀷 0鏈熼檺鍗� 1娆″崱")
+ private Integer type;
+
+ @ApiModelProperty(value = "姣忔棩楠戣闄愬埗绫诲瀷 0涓嶉檺鍒� 1闄愬埗", example = "1")
+ @ExcelColumn(name="姣忔棩楠戣闄愬埗绫诲瀷 0涓嶉檺鍒� 1闄愬埗")
+ private Integer limitType;
+
+ @ApiModelProperty(value = "姣忔棩楠戣闄愬埗鏃堕棿锛堝垎閽燂級", example = "1")
+ @ExcelColumn(name="姣忔棩楠戣闄愬埗鏃堕棿锛堝垎閽燂級")
+ private Integer limitTime;
+
+ @ApiModelProperty(value = "閿�鍞环锛堝厓锛�", example = "1")
+ @ExcelColumn(name="閿�鍞环锛堝厓锛�")
+ private BigDecimal price;
+
+ @ApiModelProperty(value = "鍒掔嚎浠凤紙鍏冿級", example = "1")
+ @ExcelColumn(name="鍒掔嚎浠凤紙鍏冿級")
+ private BigDecimal linePrice;
+
+ @ApiModelProperty(value = "閿�鍞笭閬� 0灏忕▼搴�", example = "1")
+ @ExcelColumn(name="閿�鍞笭閬� 0灏忕▼搴�")
+ private Integer channel;
+
+ @ApiModelProperty(value = "濂楅鍥剧墖")
+ @ExcelColumn(name="濂楅鍥剧墖")
+ private String imgurl;
+
+ @ApiModelProperty(value = "绠�浠�")
+ @ExcelColumn(name="绠�浠�")
+ private String descs;
+
+ @ApiModelProperty(value = "鎻忚堪")
+ @ExcelColumn(name="鎻忚堪")
+ private String content;
+
+ @ApiModelProperty(value = "閿�鍞紑濮嬫棩鏈�")
+ @ExcelColumn(name="閿�鍞紑濮嬫棩鏈�")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date startDate;
+
+ @ApiModelProperty(value = "閿�鍞粨鏉熸棩鏈�")
+ @ExcelColumn(name="閿�鍞粨鏉熸棩鏈�")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date endDate;
+
+ @ApiModelProperty(value = "浣跨敤鏃堕棿绫诲瀷 0鍥哄畾鏃堕棿娈� 1璐拱鍚庣敓鏁� 2鎸囧畾鏃ユ湡鐢熸晥", example = "1")
+ @ExcelColumn(name="浣跨敤鏃堕棿绫诲瀷 0鍥哄畾鏃堕棿娈� 1璐拱鍚庣敓鏁� 2鎸囧畾鏃ユ湡鐢熸晥")
+ private Integer useType;
+
+ @ApiModelProperty(value = "浣跨敤寮�濮嬫棩鏈�")
+ @ExcelColumn(name="浣跨敤寮�濮嬫棩鏈�")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date useStartDate;
+
+ @ApiModelProperty(value = "浣跨敤缁撴潫鏃ユ湡")
+ @ExcelColumn(name="浣跨敤缁撴潫鏃ユ湡")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date useEndDate;
+
+ @ApiModelProperty(value = "浣跨敤鏈夋晥澶╂暟", example = "1")
+ @ExcelColumn(name="浣跨敤鏈夋晥澶╂暟")
+ private Integer useDays;
+
+ @ApiModelProperty(value = "鑺傚亣鏃ユ槸鍚﹀彲浠� 0鍚� 1鏄�", example = "1")
+ @ExcelColumn(name="鑺傚亣鏃ユ槸鍚﹀彲浠� 0鍚� 1鏄�")
+ private Integer useHoliday;
+
+ @ApiModelProperty(value = "宸ヤ綔鏃ユ槸鍚﹀彲浠� 0鍚� 1鏄�", example = "1")
+ @ExcelColumn(name="宸ヤ綔鏃ユ槸鍚﹀彲浠� 0鍚� 1鏄�")
+ private Integer useWorkday;
+
+ @ApiModelProperty(value = "閿�閲忔�婚檺棰�", example = "1")
+ @ExcelColumn(name="閿�閲忔�婚檺棰�")
+ private Integer saleLimit;
+
+ @ApiModelProperty(value = "閿�閲忔瘡澶╅檺棰�", example = "1")
+ @ExcelColumn(name="閿�閲忔瘡澶╅檺棰�")
+ private Integer saleDayLimit;
+
+ @ApiModelProperty(value = "鐘舵�� 0姝e父 1鍋滅敤", example = "1")
+ @ExcelColumn(name="鐘舵�� 0姝e父 1鍋滅敤")
+ private Integer status;
+
+ @ApiModelProperty(value = "鏄惁鏀寔鑷杞﹁鍗� 0涓嶆敮鎸� 1鏀寔", example = "1")
+ @ExcelColumn(name="鏄惁鏀寔鑷杞﹁鍗� 0涓嶆敮鎸� 1鏀寔")
+ private Integer isbike;
+
+ @ApiModelProperty(value = "鏄惁鏀寔鐢靛姩杞� 0涓嶆敮鎸� 1鏀寔", example = "1")
+ @ExcelColumn(name="鏄惁鏀寔鐢靛姩杞� 0涓嶆敮鎸� 1鏀寔")
+ private Integer iselecbike;
+
+}
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/DiscountLog.java b/server/services/src/main/java/com/doumee/dao/business/model/DiscountLog.java
new file mode 100644
index 0000000..ff473bf
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/dao/business/model/DiscountLog.java
@@ -0,0 +1,82 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+import java.math.BigDecimal;
+
+/**
+ * 鐢ㄦ埛濂楅鍗′娇鐢ㄨ皟鏁存棩蹇楄〃
+ * @author 姹熻箘韫�
+ * @date 2025/02/17 09:43
+ */
+@Data
+@ApiModel("鐢ㄦ埛濂楅鍗′娇鐢ㄨ皟鏁存棩蹇楄〃")
+@TableName("\"discount_log\"")
+public class DiscountLog {
+
+ @ApiModelProperty(value = "缂栫爜")
+ @ExcelColumn(name="缂栫爜")
+ private String id;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @ExcelColumn(name="鍒涘缓鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date createDate;
+
+ @ApiModelProperty(value = "鍒涘缓浜�")
+ @ExcelColumn(name="鍒涘缓浜�")
+ private String creator;
+
+ @ApiModelProperty(value = "缂栬緫鏃堕棿")
+ @ExcelColumn(name="缂栬緫鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date editDate;
+
+ @ApiModelProperty(value = "缂栬緫浜�")
+ @ExcelColumn(name="缂栬緫浜�")
+ private String editor;
+
+ @ApiModelProperty(value = "鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�", example = "1")
+ @ExcelColumn(name="鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�")
+ private Integer isdeleted;
+
+ @ApiModelProperty(value = "澶囨敞")
+ @ExcelColumn(name="澶囨敞")
+ private String info;
+
+ @ApiModelProperty(value = "鐢ㄦ埛濂楅鍗$紪鐮侊紙鍏宠仈discount_member)")
+ @ExcelColumn(name="鐢ㄦ埛濂楅鍗$紪鐮侊紙鍏宠仈discount_member)")
+ private String discountMemberId;
+
+ @ApiModelProperty(value = "鎿嶄綔绫诲瀷 0鐢ㄦ埛楠戣浣跨敤 1骞冲彴浣滃簾 2骞冲彴璋冩暣", example = "1")
+ @ExcelColumn(name="鎿嶄綔绫诲瀷 0鐢ㄦ埛楠戣浣跨敤 1骞冲彴浣滃簾 2骞冲彴璋冩暣")
+ private Integer type;
+
+ @ApiModelProperty(value = "鎶垫墸楠戣鏃堕暱锛堝垎閽燂級", example = "1")
+ @ExcelColumn(name="鎶垫墸楠戣鏃堕暱锛堝垎閽燂級")
+ private Integer rideTime;
+
+ @ApiModelProperty(value = "鎶垫墸閲戦锛堝厓锛�", example = "1")
+ @ExcelColumn(name="鎶垫墸閲戦锛堝厓锛�")
+ private BigDecimal ridePrice;
+
+ @ApiModelProperty(value = "璋冩暣澶囨敞")
+ @ExcelColumn(name="璋冩暣澶囨敞")
+ private String editInfo;
+
+ @ApiModelProperty(value = "鏈夋晥鏈熷鍔犲ぉ鏁�", example = "1")
+ @ExcelColumn(name="鏈夋晥鏈熷鍔犲ぉ鏁�")
+ private Integer editDays;
+
+ @ApiModelProperty(value = "鍏宠仈璁㈠崟缂栫爜(鍏宠仈goodsorder锛�")
+ @ExcelColumn(name="鍏宠仈璁㈠崟缂栫爜(鍏宠仈goodsorder锛�")
+ private String goodsorderId;
+
+}
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/DiscountMember.java b/server/services/src/main/java/com/doumee/dao/business/model/DiscountMember.java
new file mode 100644
index 0000000..b00dd03
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/dao/business/model/DiscountMember.java
@@ -0,0 +1,162 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+import java.math.BigDecimal;
+
+/**
+ * 鐢ㄦ埛楠戣濂楅鍗″叧鑱旇〃
+ * @author 姹熻箘韫�
+ * @date 2025/02/17 09:43
+ */
+@Data
+@ApiModel("鐢ㄦ埛楠戣濂楅鍗″叧鑱旇〃")
+@TableName("\"discount_member\"")
+public class DiscountMember {
+
+ @ApiModelProperty(value = "缂栫爜")
+ @ExcelColumn(name="缂栫爜")
+ private String id;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @ExcelColumn(name="鍒涘缓鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date createDate;
+
+ @ApiModelProperty(value = "鍒涘缓浜�")
+ @ExcelColumn(name="鍒涘缓浜�")
+ private String creator;
+
+ @ApiModelProperty(value = "缂栬緫鏃堕棿")
+ @ExcelColumn(name="缂栬緫鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date editDate;
+
+ @ApiModelProperty(value = "缂栬緫浜�")
+ @ExcelColumn(name="缂栬緫浜�")
+ private String editor;
+
+ @ApiModelProperty(value = "鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�", example = "1")
+ @ExcelColumn(name="鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�")
+ private Integer isdeleted;
+
+ @ApiModelProperty(value = "澶囨敞")
+ @ExcelColumn(name="澶囨敞")
+ private String info;
+
+ @ApiModelProperty(value = "绁ㄥ彿")
+ @ExcelColumn(name="绁ㄥ彿")
+ private String code;
+
+ @ApiModelProperty(value = "鍚嶇О")
+ @ExcelColumn(name="鍚嶇О")
+ private String name;
+
+ @ApiModelProperty(value = "绫诲瀷 0鏈熼檺鍗� 1娆″崱", example = "1")
+ @ExcelColumn(name="绫诲瀷 0鏈熼檺鍗� 1娆″崱")
+ private Integer type;
+
+ @ApiModelProperty(value = "姣忔棩楠戣闄愬埗绫诲瀷 0涓嶉檺鍒� 1闄愬埗", example = "1")
+ @ExcelColumn(name="姣忔棩楠戣闄愬埗绫诲瀷 0涓嶉檺鍒� 1闄愬埗")
+ private Integer limitType;
+
+ @ApiModelProperty(value = "姣忔棩楠戣闄愬埗鏃堕棿锛堝垎閽燂級", example = "1")
+ @ExcelColumn(name="姣忔棩楠戣闄愬埗鏃堕棿锛堝垎閽燂級")
+ private Integer limitTime;
+
+ @ApiModelProperty(value = "閿�鍞环锛堝厓锛�", example = "1")
+ @ExcelColumn(name="閿�鍞环锛堝厓锛�")
+ private BigDecimal price;
+
+ @ApiModelProperty(value = "鍒掔嚎浠凤紙鍏冿級", example = "1")
+ @ExcelColumn(name="鍒掔嚎浠凤紙鍏冿級")
+ private BigDecimal linePrice;
+
+ @ApiModelProperty(value = "閿�鍞笭閬� 0灏忕▼搴�", example = "1")
+ @ExcelColumn(name="閿�鍞笭閬� 0灏忕▼搴�")
+ private Integer channel;
+
+ @ApiModelProperty(value = "濂楅鍥剧墖")
+ @ExcelColumn(name="濂楅鍥剧墖")
+ private String imgurl;
+
+ @ApiModelProperty(value = "绠�浠�")
+ @ExcelColumn(name="绠�浠�")
+ private String descs;
+
+ @ApiModelProperty(value = "鎻忚堪")
+ @ExcelColumn(name="鎻忚堪")
+ private String content;
+
+ @ApiModelProperty(value = "閿�鍞紑濮嬫棩鏈�")
+ @ExcelColumn(name="閿�鍞紑濮嬫棩鏈�")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date startDate;
+
+ @ApiModelProperty(value = "閿�鍞粨鏉熸棩鏈�")
+ @ExcelColumn(name="閿�鍞粨鏉熸棩鏈�")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date endDate;
+
+ @ApiModelProperty(value = "浣跨敤鏃堕棿绫诲瀷 0鍥哄畾鏃堕棿娈� 1璐拱鍚庣敓鏁� 2鎸囧畾鏃ユ湡鐢熸晥", example = "1")
+ @ExcelColumn(name="浣跨敤鏃堕棿绫诲瀷 0鍥哄畾鏃堕棿娈� 1璐拱鍚庣敓鏁� 2鎸囧畾鏃ユ湡鐢熸晥")
+ private Integer useType;
+
+ @ApiModelProperty(value = "浣跨敤寮�濮嬫棩鏈�")
+ @ExcelColumn(name="浣跨敤寮�濮嬫棩鏈�")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date useStartDate;
+
+ @ApiModelProperty(value = "浣跨敤缁撴潫鏃ユ湡")
+ @ExcelColumn(name="浣跨敤缁撴潫鏃ユ湡")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date useEndDate;
+
+ @ApiModelProperty(value = "浣跨敤鏈夋晥澶╂暟", example = "1")
+ @ExcelColumn(name="浣跨敤鏈夋晥澶╂暟")
+ private Integer useDays;
+
+ @ApiModelProperty(value = "鑺傚亣鏃ユ槸鍚﹀彲浠� 0鍚� 1鏄�", example = "1")
+ @ExcelColumn(name="鑺傚亣鏃ユ槸鍚﹀彲浠� 0鍚� 1鏄�")
+ private Integer useHoliday;
+
+ @ApiModelProperty(value = "宸ヤ綔鏃ユ槸鍚﹀彲浠� 0鍚� 1鏄�", example = "1")
+ @ExcelColumn(name="宸ヤ綔鏃ユ槸鍚﹀彲浠� 0鍚� 1鏄�")
+ private Integer useWorkday;
+
+ @ApiModelProperty(value = "閿�閲忔�婚檺棰�", example = "1")
+ @ExcelColumn(name="閿�閲忔�婚檺棰�")
+ private Integer saleLimit;
+
+ @ApiModelProperty(value = "閿�閲忔瘡澶╅檺棰�", example = "1")
+ @ExcelColumn(name="閿�閲忔瘡澶╅檺棰�")
+ private Integer saleDayLimit;
+
+ @ApiModelProperty(value = "鐘舵�� 0姝e父 1浣滃簾 2杩囨湡鎴栫敤瀹�", example = "1")
+ @ExcelColumn(name="鐘舵�� 0姝e父 1浣滃簾 2杩囨湡鎴栫敤瀹�")
+ private Integer status;
+
+ @ApiModelProperty(value = "鐢ㄦ埛缂栫爜锛堝叧鑱攎ember)")
+ @ExcelColumn(name="鐢ㄦ埛缂栫爜锛堝叧鑱攎ember)")
+ private String memberId;
+
+ @ApiModelProperty(value = "鍏宠仈璁㈠崟缂栫爜(鍏宠仈goodsorder锛�")
+ @ExcelColumn(name="鍏宠仈璁㈠崟缂栫爜(鍏宠仈goodsorder锛�")
+ private String goodsorderId;
+
+ @ApiModelProperty(value = "鏄惁鏀寔鑷杞﹁鍗� 0涓嶆敮鎸� 1鏀寔", example = "1")
+ @ExcelColumn(name="鏄惁鏀寔鑷杞﹁鍗� 0涓嶆敮鎸� 1鏀寔")
+ private Integer isbike;
+
+ @ApiModelProperty(value = "鏄惁鏀寔鐢靛姩杞� 0涓嶆敮鎸� 1鏀寔", example = "1")
+ @ExcelColumn(name="鏄惁鏀寔鐢靛姩杞� 0涓嶆敮鎸� 1鏀寔")
+ private Integer iselecbike;
+
+}
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/Goodsorder.java b/server/services/src/main/java/com/doumee/dao/business/model/Goodsorder.java
index 3fd1618..83c9768 100644
--- a/server/services/src/main/java/com/doumee/dao/business/model/Goodsorder.java
+++ b/server/services/src/main/java/com/doumee/dao/business/model/Goodsorder.java
@@ -54,6 +54,12 @@
@ApiModelProperty(value = "鐢ㄦ埛缂栫爜锛堝叧鑱攎ember琛級")
private String memberId;
+ @ApiModelProperty(value = "鍏宠仈瀵硅薄缂栫爜")
+ private String objId;
+ @ApiModelProperty(value = "鍏宠仈瀵硅薄绫诲瀷 0濂楅鍗�")
+ private Integer objType;
+ @ApiModelProperty(value = "浜ゆ槗绫诲瀷 0绉熻溅鎶奸噾 1濂楅鍗¤喘涔�")
+ private Integer type;
@ApiModelProperty(value = "鐢ㄦ埛缂栫爜锛堝叧鑱攎ember琛級")
@TableField(exist = false)
@@ -81,9 +87,6 @@
@ApiModelProperty(value = "鏀粯鏃堕棿")
@ExcelColumn(name="浜ゆ娂閲戞椂闂�",index = 5,width = 10,align = HorizontalAlignment.CENTER,dateFormat = "yyyy-MM-dd HH:mm:ss" )
private Date payDate;
-
- @ApiModelProperty(value = "浜ゆ槗绫诲瀷 0绉熻溅鎶奸噾")
- private Integer type;
@ApiModelProperty(value = "缁撶畻閲戦(鍒嗭級")
@ExcelColumn(name="缁撶畻閲戦(鍏�)",index = 7,width = 10,align = HorizontalAlignment.CENTER)
diff --git a/server/services/src/main/java/com/doumee/service/business/DiscountLogService.java b/server/services/src/main/java/com/doumee/service/business/DiscountLogService.java
new file mode 100644
index 0000000..b5062a1
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/service/business/DiscountLogService.java
@@ -0,0 +1,97 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.DiscountLog;
+import java.util.List;
+
+/**
+ * 鐢ㄦ埛濂楅鍗′娇鐢ㄨ皟鏁存棩蹇楄〃Service瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2025/02/17 09:43
+ */
+public interface DiscountLogService {
+
+ /**
+ * 鍒涘缓
+ *
+ * @param discountLog 瀹炰綋瀵硅薄
+ * @return String
+ */
+ String create(DiscountLog discountLog);
+
+ /**
+ * 涓婚敭鍒犻櫎
+ *
+ * @param id 涓婚敭
+ */
+ void deleteById(String id);
+
+ /**
+ * 鍒犻櫎
+ *
+ * @param discountLog 瀹炰綋瀵硅薄
+ */
+ void delete(DiscountLog discountLog);
+
+ /**
+ * 鎵归噺涓婚敭鍒犻櫎
+ *
+ * @param ids 涓婚敭闆�
+ */
+ void deleteByIdInBatch(List<String> ids);
+
+ /**
+ * 涓婚敭鏇存柊
+ *
+ * @param discountLog 瀹炰綋瀵硅薄
+ */
+ void updateById(DiscountLog discountLog);
+
+ /**
+ * 鎵归噺涓婚敭鏇存柊
+ *
+ * @param discountLogs 瀹炰綋闆�
+ */
+ void updateByIdInBatch(List<DiscountLog> discountLogs);
+
+ /**
+ * 涓婚敭鏌ヨ
+ *
+ * @param id 涓婚敭
+ * @return DiscountLog
+ */
+ DiscountLog findById(String id);
+
+ /**
+ * 鏉′欢鏌ヨ鍗曟潯璁板綍
+ *
+ * @param discountLog 瀹炰綋瀵硅薄
+ * @return DiscountLog
+ */
+ DiscountLog findOne(DiscountLog discountLog);
+
+ /**
+ * 鏉′欢鏌ヨ
+ *
+ * @param discountLog 瀹炰綋瀵硅薄
+ * @return List<DiscountLog>
+ */
+ List<DiscountLog> findList(DiscountLog discountLog);
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ *
+ * @param pageWrap 鍒嗛〉瀵硅薄
+ * @return PageData<DiscountLog>
+ */
+ PageData<DiscountLog> findPage(PageWrap<DiscountLog> pageWrap);
+
+ /**
+ * 鏉′欢缁熻
+ *
+ * @param discountLog 瀹炰綋瀵硅薄
+ * @return long
+ */
+ long count(DiscountLog discountLog);
+}
diff --git a/server/services/src/main/java/com/doumee/service/business/DiscountMemberService.java b/server/services/src/main/java/com/doumee/service/business/DiscountMemberService.java
new file mode 100644
index 0000000..2849dc7
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/service/business/DiscountMemberService.java
@@ -0,0 +1,97 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.DiscountMember;
+import java.util.List;
+
+/**
+ * 鐢ㄦ埛楠戣濂楅鍗″叧鑱旇〃Service瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2025/02/17 09:43
+ */
+public interface DiscountMemberService {
+
+ /**
+ * 鍒涘缓
+ *
+ * @param discountMember 瀹炰綋瀵硅薄
+ * @return String
+ */
+ String create(DiscountMember discountMember);
+
+ /**
+ * 涓婚敭鍒犻櫎
+ *
+ * @param id 涓婚敭
+ */
+ void deleteById(String id);
+
+ /**
+ * 鍒犻櫎
+ *
+ * @param discountMember 瀹炰綋瀵硅薄
+ */
+ void delete(DiscountMember discountMember);
+
+ /**
+ * 鎵归噺涓婚敭鍒犻櫎
+ *
+ * @param ids 涓婚敭闆�
+ */
+ void deleteByIdInBatch(List<String> ids);
+
+ /**
+ * 涓婚敭鏇存柊
+ *
+ * @param discountMember 瀹炰綋瀵硅薄
+ */
+ void updateById(DiscountMember discountMember);
+
+ /**
+ * 鎵归噺涓婚敭鏇存柊
+ *
+ * @param discountMembers 瀹炰綋闆�
+ */
+ void updateByIdInBatch(List<DiscountMember> discountMembers);
+
+ /**
+ * 涓婚敭鏌ヨ
+ *
+ * @param id 涓婚敭
+ * @return DiscountMember
+ */
+ DiscountMember findById(String id);
+
+ /**
+ * 鏉′欢鏌ヨ鍗曟潯璁板綍
+ *
+ * @param discountMember 瀹炰綋瀵硅薄
+ * @return DiscountMember
+ */
+ DiscountMember findOne(DiscountMember discountMember);
+
+ /**
+ * 鏉′欢鏌ヨ
+ *
+ * @param discountMember 瀹炰綋瀵硅薄
+ * @return List<DiscountMember>
+ */
+ List<DiscountMember> findList(DiscountMember discountMember);
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ *
+ * @param pageWrap 鍒嗛〉瀵硅薄
+ * @return PageData<DiscountMember>
+ */
+ PageData<DiscountMember> findPage(PageWrap<DiscountMember> pageWrap);
+
+ /**
+ * 鏉′欢缁熻
+ *
+ * @param discountMember 瀹炰綋瀵硅薄
+ * @return long
+ */
+ long count(DiscountMember discountMember);
+}
diff --git a/server/services/src/main/java/com/doumee/service/business/DiscountService.java b/server/services/src/main/java/com/doumee/service/business/DiscountService.java
new file mode 100644
index 0000000..7850adc
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/service/business/DiscountService.java
@@ -0,0 +1,97 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.Discount;
+import java.util.List;
+
+/**
+ * 楠戣濂楅淇℃伅琛⊿ervice瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2025/02/17 09:43
+ */
+public interface DiscountService {
+
+ /**
+ * 鍒涘缓
+ *
+ * @param discount 瀹炰綋瀵硅薄
+ * @return String
+ */
+ String create(Discount discount);
+
+ /**
+ * 涓婚敭鍒犻櫎
+ *
+ * @param id 涓婚敭
+ */
+ void deleteById(String id);
+
+ /**
+ * 鍒犻櫎
+ *
+ * @param discount 瀹炰綋瀵硅薄
+ */
+ void delete(Discount discount);
+
+ /**
+ * 鎵归噺涓婚敭鍒犻櫎
+ *
+ * @param ids 涓婚敭闆�
+ */
+ void deleteByIdInBatch(List<String> ids);
+
+ /**
+ * 涓婚敭鏇存柊
+ *
+ * @param discount 瀹炰綋瀵硅薄
+ */
+ void updateById(Discount discount);
+
+ /**
+ * 鎵归噺涓婚敭鏇存柊
+ *
+ * @param discounts 瀹炰綋闆�
+ */
+ void updateByIdInBatch(List<Discount> discounts);
+
+ /**
+ * 涓婚敭鏌ヨ
+ *
+ * @param id 涓婚敭
+ * @return Discount
+ */
+ Discount findById(String id);
+
+ /**
+ * 鏉′欢鏌ヨ鍗曟潯璁板綍
+ *
+ * @param discount 瀹炰綋瀵硅薄
+ * @return Discount
+ */
+ Discount findOne(Discount discount);
+
+ /**
+ * 鏉′欢鏌ヨ
+ *
+ * @param discount 瀹炰綋瀵硅薄
+ * @return List<Discount>
+ */
+ List<Discount> findList(Discount discount);
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ *
+ * @param pageWrap 鍒嗛〉瀵硅薄
+ * @return PageData<Discount>
+ */
+ PageData<Discount> findPage(PageWrap<Discount> pageWrap);
+
+ /**
+ * 鏉′欢缁熻
+ *
+ * @param discount 瀹炰綋瀵硅薄
+ * @return long
+ */
+ long count(Discount discount);
+}
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/DiscountLogServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/DiscountLogServiceImpl.java
new file mode 100644
index 0000000..bebd94a
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/service/business/impl/DiscountLogServiceImpl.java
@@ -0,0 +1,151 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.DiscountLogMapper;
+import com.doumee.dao.business.model.DiscountLog;
+import com.doumee.service.business.DiscountLogService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 鐢ㄦ埛濂楅鍗′娇鐢ㄨ皟鏁存棩蹇楄〃Service瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2025/02/17 09:43
+ */
+@Service
+public class DiscountLogServiceImpl implements DiscountLogService {
+
+ @Autowired
+ private DiscountLogMapper discountLogMapper;
+
+ @Override
+ public String create(DiscountLog discountLog) {
+ discountLogMapper.insert(discountLog);
+ return discountLog.getId();
+ }
+
+ @Override
+ public void deleteById(String id) {
+ discountLogMapper.deleteById(id);
+ }
+
+ @Override
+ public void delete(DiscountLog discountLog) {
+ UpdateWrapper<DiscountLog> deleteWrapper = new UpdateWrapper<>(discountLog);
+ discountLogMapper.delete(deleteWrapper);
+ }
+
+ @Override
+ public void deleteByIdInBatch(List<String> ids) {
+ if (CollectionUtils.isEmpty(ids)) {
+ return;
+ }
+ discountLogMapper.deleteBatchIds(ids);
+ }
+
+ @Override
+ public void updateById(DiscountLog discountLog) {
+ discountLogMapper.updateById(discountLog);
+ }
+
+ @Override
+ public void updateByIdInBatch(List<DiscountLog> discountLogs) {
+ if (CollectionUtils.isEmpty(discountLogs)) {
+ return;
+ }
+ for (DiscountLog discountLog: discountLogs) {
+ this.updateById(discountLog);
+ }
+ }
+
+ @Override
+ public DiscountLog findById(String id) {
+ return discountLogMapper.selectById(id);
+ }
+
+ @Override
+ public DiscountLog findOne(DiscountLog discountLog) {
+ QueryWrapper<DiscountLog> wrapper = new QueryWrapper<>(discountLog);
+ return discountLogMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public List<DiscountLog> findList(DiscountLog discountLog) {
+ QueryWrapper<DiscountLog> wrapper = new QueryWrapper<>(discountLog);
+ return discountLogMapper.selectList(wrapper);
+ }
+
+ @Override
+ public PageData<DiscountLog> findPage(PageWrap<DiscountLog> pageWrap) {
+ IPage<DiscountLog> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+ QueryWrapper<DiscountLog> queryWrapper = new QueryWrapper<>();
+ Utils.MP.blankToNull(pageWrap.getModel());
+ if (pageWrap.getModel().getId() != null) {
+ queryWrapper.lambda().eq(DiscountLog::getId, pageWrap.getModel().getId());
+ }
+ if (pageWrap.getModel().getCreateDate() != null) {
+ queryWrapper.lambda().ge(DiscountLog::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
+ queryWrapper.lambda().le(DiscountLog::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
+ }
+ if (pageWrap.getModel().getCreator() != null) {
+ queryWrapper.lambda().eq(DiscountLog::getCreator, pageWrap.getModel().getCreator());
+ }
+ if (pageWrap.getModel().getEditDate() != null) {
+ queryWrapper.lambda().ge(DiscountLog::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
+ queryWrapper.lambda().le(DiscountLog::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
+ }
+ if (pageWrap.getModel().getEditor() != null) {
+ queryWrapper.lambda().eq(DiscountLog::getEditor, pageWrap.getModel().getEditor());
+ }
+ if (pageWrap.getModel().getIsdeleted() != null) {
+ queryWrapper.lambda().eq(DiscountLog::getIsdeleted, pageWrap.getModel().getIsdeleted());
+ }
+ if (pageWrap.getModel().getInfo() != null) {
+ queryWrapper.lambda().eq(DiscountLog::getInfo, pageWrap.getModel().getInfo());
+ }
+ if (pageWrap.getModel().getDiscountMemberId() != null) {
+ queryWrapper.lambda().eq(DiscountLog::getDiscountMemberId, pageWrap.getModel().getDiscountMemberId());
+ }
+ if (pageWrap.getModel().getType() != null) {
+ queryWrapper.lambda().eq(DiscountLog::getType, pageWrap.getModel().getType());
+ }
+ if (pageWrap.getModel().getRideTime() != null) {
+ queryWrapper.lambda().eq(DiscountLog::getRideTime, pageWrap.getModel().getRideTime());
+ }
+ if (pageWrap.getModel().getRidePrice() != null) {
+ queryWrapper.lambda().eq(DiscountLog::getRidePrice, pageWrap.getModel().getRidePrice());
+ }
+ if (pageWrap.getModel().getEditInfo() != null) {
+ queryWrapper.lambda().eq(DiscountLog::getEditInfo, pageWrap.getModel().getEditInfo());
+ }
+ if (pageWrap.getModel().getEditDays() != null) {
+ queryWrapper.lambda().eq(DiscountLog::getEditDays, pageWrap.getModel().getEditDays());
+ }
+ if (pageWrap.getModel().getGoodsorderId() != null) {
+ queryWrapper.lambda().eq(DiscountLog::getGoodsorderId, pageWrap.getModel().getGoodsorderId());
+ }
+ for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+ if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+ queryWrapper.orderByDesc(sortData.getProperty());
+ } else {
+ queryWrapper.orderByAsc(sortData.getProperty());
+ }
+ }
+ return PageData.from(discountLogMapper.selectPage(page, queryWrapper));
+ }
+
+ @Override
+ public long count(DiscountLog discountLog) {
+ QueryWrapper<DiscountLog> wrapper = new QueryWrapper<>(discountLog);
+ return discountLogMapper.selectCount(wrapper);
+ }
+}
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/DiscountMemberServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/DiscountMemberServiceImpl.java
new file mode 100644
index 0000000..135d83f
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/service/business/impl/DiscountMemberServiceImpl.java
@@ -0,0 +1,212 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.DiscountMemberMapper;
+import com.doumee.dao.business.model.DiscountMember;
+import com.doumee.service.business.DiscountMemberService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 鐢ㄦ埛楠戣濂楅鍗″叧鑱旇〃Service瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2025/02/17 09:43
+ */
+@Service
+public class DiscountMemberServiceImpl implements DiscountMemberService {
+
+ @Autowired
+ private DiscountMemberMapper discountMemberMapper;
+
+ @Override
+ public String create(DiscountMember discountMember) {
+ discountMemberMapper.insert(discountMember);
+ return discountMember.getId();
+ }
+
+ @Override
+ public void deleteById(String id) {
+ discountMemberMapper.deleteById(id);
+ }
+
+ @Override
+ public void delete(DiscountMember discountMember) {
+ UpdateWrapper<DiscountMember> deleteWrapper = new UpdateWrapper<>(discountMember);
+ discountMemberMapper.delete(deleteWrapper);
+ }
+
+ @Override
+ public void deleteByIdInBatch(List<String> ids) {
+ if (CollectionUtils.isEmpty(ids)) {
+ return;
+ }
+ discountMemberMapper.deleteBatchIds(ids);
+ }
+
+ @Override
+ public void updateById(DiscountMember discountMember) {
+ discountMemberMapper.updateById(discountMember);
+ }
+
+ @Override
+ public void updateByIdInBatch(List<DiscountMember> discountMembers) {
+ if (CollectionUtils.isEmpty(discountMembers)) {
+ return;
+ }
+ for (DiscountMember discountMember: discountMembers) {
+ this.updateById(discountMember);
+ }
+ }
+
+ @Override
+ public DiscountMember findById(String id) {
+ return discountMemberMapper.selectById(id);
+ }
+
+ @Override
+ public DiscountMember findOne(DiscountMember discountMember) {
+ QueryWrapper<DiscountMember> wrapper = new QueryWrapper<>(discountMember);
+ return discountMemberMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public List<DiscountMember> findList(DiscountMember discountMember) {
+ QueryWrapper<DiscountMember> wrapper = new QueryWrapper<>(discountMember);
+ return discountMemberMapper.selectList(wrapper);
+ }
+
+ @Override
+ public PageData<DiscountMember> findPage(PageWrap<DiscountMember> pageWrap) {
+ IPage<DiscountMember> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+ QueryWrapper<DiscountMember> queryWrapper = new QueryWrapper<>();
+ Utils.MP.blankToNull(pageWrap.getModel());
+ if (pageWrap.getModel().getId() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getId, pageWrap.getModel().getId());
+ }
+ if (pageWrap.getModel().getCreateDate() != null) {
+ queryWrapper.lambda().ge(DiscountMember::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
+ queryWrapper.lambda().le(DiscountMember::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
+ }
+ if (pageWrap.getModel().getCreator() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getCreator, pageWrap.getModel().getCreator());
+ }
+ if (pageWrap.getModel().getEditDate() != null) {
+ queryWrapper.lambda().ge(DiscountMember::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
+ queryWrapper.lambda().le(DiscountMember::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
+ }
+ if (pageWrap.getModel().getEditor() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getEditor, pageWrap.getModel().getEditor());
+ }
+ if (pageWrap.getModel().getIsdeleted() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getIsdeleted, pageWrap.getModel().getIsdeleted());
+ }
+ if (pageWrap.getModel().getInfo() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getInfo, pageWrap.getModel().getInfo());
+ }
+ if (pageWrap.getModel().getCode() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getCode, pageWrap.getModel().getCode());
+ }
+ if (pageWrap.getModel().getName() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getName, pageWrap.getModel().getName());
+ }
+ if (pageWrap.getModel().getType() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getType, pageWrap.getModel().getType());
+ }
+ if (pageWrap.getModel().getLimitType() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getLimitType, pageWrap.getModel().getLimitType());
+ }
+ if (pageWrap.getModel().getLimitTime() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getLimitTime, pageWrap.getModel().getLimitTime());
+ }
+ if (pageWrap.getModel().getPrice() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getPrice, pageWrap.getModel().getPrice());
+ }
+ if (pageWrap.getModel().getLinePrice() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getLinePrice, pageWrap.getModel().getLinePrice());
+ }
+ if (pageWrap.getModel().getChannel() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getChannel, pageWrap.getModel().getChannel());
+ }
+ if (pageWrap.getModel().getImgurl() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getImgurl, pageWrap.getModel().getImgurl());
+ }
+ if (pageWrap.getModel().getDescs() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getDescs, pageWrap.getModel().getDescs());
+ }
+ if (pageWrap.getModel().getContent() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getContent, pageWrap.getModel().getContent());
+ }
+ if (pageWrap.getModel().getStartDate() != null) {
+ queryWrapper.lambda().ge(DiscountMember::getStartDate, Utils.Date.getStart(pageWrap.getModel().getStartDate()));
+ queryWrapper.lambda().le(DiscountMember::getStartDate, Utils.Date.getEnd(pageWrap.getModel().getStartDate()));
+ }
+ if (pageWrap.getModel().getEndDate() != null) {
+ queryWrapper.lambda().ge(DiscountMember::getEndDate, Utils.Date.getStart(pageWrap.getModel().getEndDate()));
+ queryWrapper.lambda().le(DiscountMember::getEndDate, Utils.Date.getEnd(pageWrap.getModel().getEndDate()));
+ }
+ if (pageWrap.getModel().getUseType() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getUseType, pageWrap.getModel().getUseType());
+ }
+ if (pageWrap.getModel().getUseStartDate() != null) {
+ queryWrapper.lambda().ge(DiscountMember::getUseStartDate, Utils.Date.getStart(pageWrap.getModel().getUseStartDate()));
+ queryWrapper.lambda().le(DiscountMember::getUseStartDate, Utils.Date.getEnd(pageWrap.getModel().getUseStartDate()));
+ }
+ if (pageWrap.getModel().getUseEndDate() != null) {
+ queryWrapper.lambda().ge(DiscountMember::getUseEndDate, Utils.Date.getStart(pageWrap.getModel().getUseEndDate()));
+ queryWrapper.lambda().le(DiscountMember::getUseEndDate, Utils.Date.getEnd(pageWrap.getModel().getUseEndDate()));
+ }
+ if (pageWrap.getModel().getUseDays() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getUseDays, pageWrap.getModel().getUseDays());
+ }
+ if (pageWrap.getModel().getUseHoliday() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getUseHoliday, pageWrap.getModel().getUseHoliday());
+ }
+ if (pageWrap.getModel().getUseWorkday() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getUseWorkday, pageWrap.getModel().getUseWorkday());
+ }
+ if (pageWrap.getModel().getSaleLimit() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getSaleLimit, pageWrap.getModel().getSaleLimit());
+ }
+ if (pageWrap.getModel().getSaleDayLimit() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getSaleDayLimit, pageWrap.getModel().getSaleDayLimit());
+ }
+ if (pageWrap.getModel().getStatus() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getStatus, pageWrap.getModel().getStatus());
+ }
+ if (pageWrap.getModel().getMemberId() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getMemberId, pageWrap.getModel().getMemberId());
+ }
+ if (pageWrap.getModel().getGoodsorderId() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getGoodsorderId, pageWrap.getModel().getGoodsorderId());
+ }
+ if (pageWrap.getModel().getIsbike() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getIsbike, pageWrap.getModel().getIsbike());
+ }
+ if (pageWrap.getModel().getIselecbike() != null) {
+ queryWrapper.lambda().eq(DiscountMember::getIselecbike, pageWrap.getModel().getIselecbike());
+ }
+ for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+ if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+ queryWrapper.orderByDesc(sortData.getProperty());
+ } else {
+ queryWrapper.orderByAsc(sortData.getProperty());
+ }
+ }
+ return PageData.from(discountMemberMapper.selectPage(page, queryWrapper));
+ }
+
+ @Override
+ public long count(DiscountMember discountMember) {
+ QueryWrapper<DiscountMember> wrapper = new QueryWrapper<>(discountMember);
+ return discountMemberMapper.selectCount(wrapper);
+ }
+}
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/DiscountServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/DiscountServiceImpl.java
new file mode 100644
index 0000000..6f8073b
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/service/business/impl/DiscountServiceImpl.java
@@ -0,0 +1,203 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.DiscountMapper;
+import com.doumee.dao.business.model.Discount;
+import com.doumee.service.business.DiscountService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 楠戣濂楅淇℃伅琛⊿ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2025/02/17 09:43
+ */
+@Service
+public class DiscountServiceImpl implements DiscountService {
+
+ @Autowired
+ private DiscountMapper discountMapper;
+
+ @Override
+ public String create(Discount discount) {
+ discountMapper.insert(discount);
+ return discount.getId();
+ }
+
+ @Override
+ public void deleteById(String id) {
+ discountMapper.deleteById(id);
+ }
+
+ @Override
+ public void delete(Discount discount) {
+ UpdateWrapper<Discount> deleteWrapper = new UpdateWrapper<>(discount);
+ discountMapper.delete(deleteWrapper);
+ }
+
+ @Override
+ public void deleteByIdInBatch(List<String> ids) {
+ if (CollectionUtils.isEmpty(ids)) {
+ return;
+ }
+ discountMapper.deleteBatchIds(ids);
+ }
+
+ @Override
+ public void updateById(Discount discount) {
+ discountMapper.updateById(discount);
+ }
+
+ @Override
+ public void updateByIdInBatch(List<Discount> discounts) {
+ if (CollectionUtils.isEmpty(discounts)) {
+ return;
+ }
+ for (Discount discount: discounts) {
+ this.updateById(discount);
+ }
+ }
+
+ @Override
+ public Discount findById(String id) {
+ return discountMapper.selectById(id);
+ }
+
+ @Override
+ public Discount findOne(Discount discount) {
+ QueryWrapper<Discount> wrapper = new QueryWrapper<>(discount);
+ return discountMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public List<Discount> findList(Discount discount) {
+ QueryWrapper<Discount> wrapper = new QueryWrapper<>(discount);
+ return discountMapper.selectList(wrapper);
+ }
+
+ @Override
+ public PageData<Discount> findPage(PageWrap<Discount> pageWrap) {
+ IPage<Discount> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+ QueryWrapper<Discount> queryWrapper = new QueryWrapper<>();
+ Utils.MP.blankToNull(pageWrap.getModel());
+ if (pageWrap.getModel().getId() != null) {
+ queryWrapper.lambda().eq(Discount::getId, pageWrap.getModel().getId());
+ }
+ if (pageWrap.getModel().getCreateDate() != null) {
+ queryWrapper.lambda().ge(Discount::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
+ queryWrapper.lambda().le(Discount::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
+ }
+ if (pageWrap.getModel().getCreator() != null) {
+ queryWrapper.lambda().eq(Discount::getCreator, pageWrap.getModel().getCreator());
+ }
+ if (pageWrap.getModel().getEditDate() != null) {
+ queryWrapper.lambda().ge(Discount::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
+ queryWrapper.lambda().le(Discount::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
+ }
+ if (pageWrap.getModel().getEditor() != null) {
+ queryWrapper.lambda().eq(Discount::getEditor, pageWrap.getModel().getEditor());
+ }
+ if (pageWrap.getModel().getIsdeleted() != null) {
+ queryWrapper.lambda().eq(Discount::getIsdeleted, pageWrap.getModel().getIsdeleted());
+ }
+ if (pageWrap.getModel().getInfo() != null) {
+ queryWrapper.lambda().eq(Discount::getInfo, pageWrap.getModel().getInfo());
+ }
+ if (pageWrap.getModel().getName() != null) {
+ queryWrapper.lambda().eq(Discount::getName, pageWrap.getModel().getName());
+ }
+ if (pageWrap.getModel().getType() != null) {
+ queryWrapper.lambda().eq(Discount::getType, pageWrap.getModel().getType());
+ }
+ if (pageWrap.getModel().getLimitType() != null) {
+ queryWrapper.lambda().eq(Discount::getLimitType, pageWrap.getModel().getLimitType());
+ }
+ if (pageWrap.getModel().getLimitTime() != null) {
+ queryWrapper.lambda().eq(Discount::getLimitTime, pageWrap.getModel().getLimitTime());
+ }
+ if (pageWrap.getModel().getPrice() != null) {
+ queryWrapper.lambda().eq(Discount::getPrice, pageWrap.getModel().getPrice());
+ }
+ if (pageWrap.getModel().getLinePrice() != null) {
+ queryWrapper.lambda().eq(Discount::getLinePrice, pageWrap.getModel().getLinePrice());
+ }
+ if (pageWrap.getModel().getChannel() != null) {
+ queryWrapper.lambda().eq(Discount::getChannel, pageWrap.getModel().getChannel());
+ }
+ if (pageWrap.getModel().getImgurl() != null) {
+ queryWrapper.lambda().eq(Discount::getImgurl, pageWrap.getModel().getImgurl());
+ }
+ if (pageWrap.getModel().getDescs() != null) {
+ queryWrapper.lambda().eq(Discount::getDescs, pageWrap.getModel().getDescs());
+ }
+ if (pageWrap.getModel().getContent() != null) {
+ queryWrapper.lambda().eq(Discount::getContent, pageWrap.getModel().getContent());
+ }
+ if (pageWrap.getModel().getStartDate() != null) {
+ queryWrapper.lambda().ge(Discount::getStartDate, Utils.Date.getStart(pageWrap.getModel().getStartDate()));
+ queryWrapper.lambda().le(Discount::getStartDate, Utils.Date.getEnd(pageWrap.getModel().getStartDate()));
+ }
+ if (pageWrap.getModel().getEndDate() != null) {
+ queryWrapper.lambda().ge(Discount::getEndDate, Utils.Date.getStart(pageWrap.getModel().getEndDate()));
+ queryWrapper.lambda().le(Discount::getEndDate, Utils.Date.getEnd(pageWrap.getModel().getEndDate()));
+ }
+ if (pageWrap.getModel().getUseType() != null) {
+ queryWrapper.lambda().eq(Discount::getUseType, pageWrap.getModel().getUseType());
+ }
+ if (pageWrap.getModel().getUseStartDate() != null) {
+ queryWrapper.lambda().ge(Discount::getUseStartDate, Utils.Date.getStart(pageWrap.getModel().getUseStartDate()));
+ queryWrapper.lambda().le(Discount::getUseStartDate, Utils.Date.getEnd(pageWrap.getModel().getUseStartDate()));
+ }
+ if (pageWrap.getModel().getUseEndDate() != null) {
+ queryWrapper.lambda().ge(Discount::getUseEndDate, Utils.Date.getStart(pageWrap.getModel().getUseEndDate()));
+ queryWrapper.lambda().le(Discount::getUseEndDate, Utils.Date.getEnd(pageWrap.getModel().getUseEndDate()));
+ }
+ if (pageWrap.getModel().getUseDays() != null) {
+ queryWrapper.lambda().eq(Discount::getUseDays, pageWrap.getModel().getUseDays());
+ }
+ if (pageWrap.getModel().getUseHoliday() != null) {
+ queryWrapper.lambda().eq(Discount::getUseHoliday, pageWrap.getModel().getUseHoliday());
+ }
+ if (pageWrap.getModel().getUseWorkday() != null) {
+ queryWrapper.lambda().eq(Discount::getUseWorkday, pageWrap.getModel().getUseWorkday());
+ }
+ if (pageWrap.getModel().getSaleLimit() != null) {
+ queryWrapper.lambda().eq(Discount::getSaleLimit, pageWrap.getModel().getSaleLimit());
+ }
+ if (pageWrap.getModel().getSaleDayLimit() != null) {
+ queryWrapper.lambda().eq(Discount::getSaleDayLimit, pageWrap.getModel().getSaleDayLimit());
+ }
+ if (pageWrap.getModel().getStatus() != null) {
+ queryWrapper.lambda().eq(Discount::getStatus, pageWrap.getModel().getStatus());
+ }
+ if (pageWrap.getModel().getIsbike() != null) {
+ queryWrapper.lambda().eq(Discount::getIsbike, pageWrap.getModel().getIsbike());
+ }
+ if (pageWrap.getModel().getIselecbike() != null) {
+ queryWrapper.lambda().eq(Discount::getIselecbike, pageWrap.getModel().getIselecbike());
+ }
+ for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+ if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+ queryWrapper.orderByDesc(sortData.getProperty());
+ } else {
+ queryWrapper.orderByAsc(sortData.getProperty());
+ }
+ }
+ return PageData.from(discountMapper.selectPage(page, queryWrapper));
+ }
+
+ @Override
+ public long count(Discount discount) {
+ QueryWrapper<Discount> wrapper = new QueryWrapper<>(discount);
+ return discountMapper.selectCount(wrapper);
+ }
+}
--
Gitblit v1.9.3