From 21203a73ac3af02ea797126aa7d1fcf483af8c77 Mon Sep 17 00:00:00 2001 From: PQZ Date: Thu, 19 Sep 2024 16:14:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=9A=E5=91=98=E8=90=A5=E9=94=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/ActiveMainController.java | 118 ++++++++++++++++ .../admin/ActiveRuleController.java | 93 +++++++++++++ .../admin/ActiveRuleCouponController.java | 93 +++++++++++++ .../admin/MemberCouponController.java | 127 ++++++++++++++++++ .../admin/MemberLevelController.java | 119 ++++++++++++++++ .../module/member/entity/ActiveMain.java | 61 +++++++++ .../module/member/entity/ActiveRule.java | 52 +++++++ .../member/entity/ActiveRuleCoupon.java | 43 ++++++ .../module/member/entity/MemberCoupon.java | 76 +++++++++++ .../module/member/entity/MemberLevel.java | 57 ++++++++ .../member/mapper/ActiveMainMapper.java | 32 +++++ .../member/mapper/ActiveRuleCouponMapper.java | 17 +++ .../member/mapper/ActiveRuleMapper.java | 16 +++ .../member/mapper/MemberCouponMapper.java | 32 +++++ .../member/mapper/MemberLevelMapper.java | 34 +++++ .../member/service/ActiveMainService.java | 55 ++++++++ .../service/ActiveRuleCouponService.java | 56 ++++++++ .../member/service/ActiveRuleService.java | 56 ++++++++ .../member/service/MemberCouponService.java | 56 ++++++++ .../member/service/MemberLevelService.java | 57 ++++++++ .../service/impl/ActiveMainServiceImpl.java | 73 ++++++++++ .../impl/ActiveRuleCouponServiceImpl.java | 64 +++++++++ .../service/impl/ActiveRuleServiceImpl.java | 62 +++++++++ .../service/impl/MemberCouponServiceImpl.java | 74 ++++++++++ .../service/impl/MemberLevelServiceImpl.java | 86 ++++++++++++ .../module/member/vo/ActiveMainPageReqVO.java | 45 +++++++ .../module/member/vo/ActiveMainRespVO.java | 51 +++++++ .../module/member/vo/ActiveMainSaveReqVO.java | 38 ++++++ .../member/vo/ActiveRuleCouponPageReqVO.java | 32 +++++ .../member/vo/ActiveRuleCouponRespVO.java | 36 +++++ .../member/vo/ActiveRuleCouponSaveReqVO.java | 25 ++++ .../module/member/vo/ActiveRulePageReqVO.java | 39 ++++++ .../module/member/vo/ActiveRuleRespVO.java | 45 +++++++ .../module/member/vo/ActiveRuleSaveReqVO.java | 32 +++++ .../member/vo/MemberCouponPageReqVO.java | 21 +++ .../module/member/vo/MemberCouponRespVO.java | 15 +++ .../member/vo/MemberCouponSaveReqVO.java | 17 +++ .../member/vo/MemberLevelPageReqVO.java | 21 +++ .../module/member/vo/MemberLevelRespVO.java | 15 +++ .../member/vo/MemberLevelSaveReqVO.java | 12 ++ .../mapper/member/ActiveMainMapper.xml | 28 ++++ .../mapper/member/ActiveRuleCouponMapper.xml | 12 ++ .../mapper/member/ActiveRuleMapper.xml | 12 ++ .../mapper/member/MemberCouponMapper.xml | 31 +++++ .../mapper/member/MemberLevelMapper.xml | 26 ++++ .../mapper/supplier/BaseSupplierMapper.xml | 2 +- 46 files changed, 2163 insertions(+), 1 deletion(-) create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/ActiveMainController.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/ActiveRuleController.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/ActiveRuleCouponController.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/MemberCouponController.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/MemberLevelController.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/entity/ActiveMain.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/entity/ActiveRule.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/entity/ActiveRuleCoupon.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/entity/MemberCoupon.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/entity/MemberLevel.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/mapper/ActiveMainMapper.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/mapper/ActiveRuleCouponMapper.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/mapper/ActiveRuleMapper.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/mapper/MemberCouponMapper.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/mapper/MemberLevelMapper.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/ActiveMainService.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/ActiveRuleCouponService.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/ActiveRuleService.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/MemberCouponService.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/MemberLevelService.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/impl/ActiveMainServiceImpl.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/impl/ActiveRuleCouponServiceImpl.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/impl/ActiveRuleServiceImpl.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/impl/MemberCouponServiceImpl.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/impl/MemberLevelServiceImpl.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveMainPageReqVO.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveMainRespVO.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveMainSaveReqVO.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveRuleCouponPageReqVO.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveRuleCouponRespVO.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveRuleCouponSaveReqVO.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveRulePageReqVO.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveRuleRespVO.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveRuleSaveReqVO.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberCouponPageReqVO.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberCouponRespVO.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberCouponSaveReqVO.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberLevelPageReqVO.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberLevelRespVO.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberLevelSaveReqVO.java create mode 100644 dl-module-base/src/main/resources/mapper/member/ActiveMainMapper.xml create mode 100644 dl-module-base/src/main/resources/mapper/member/ActiveRuleCouponMapper.xml create mode 100644 dl-module-base/src/main/resources/mapper/member/ActiveRuleMapper.xml create mode 100644 dl-module-base/src/main/resources/mapper/member/MemberCouponMapper.xml create mode 100644 dl-module-base/src/main/resources/mapper/member/MemberLevelMapper.xml diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/ActiveMainController.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/ActiveMainController.java new file mode 100644 index 00000000..9bc77244 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/ActiveMainController.java @@ -0,0 +1,118 @@ +package cn.iocoder.yudao.module.member.controller.admin; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.member.entity.ActiveMain; +import cn.iocoder.yudao.module.member.service.ActiveMainService; +import cn.iocoder.yudao.module.member.vo.ActiveMainPageReqVO; +import cn.iocoder.yudao.module.member.vo.ActiveMainRespVO; +import cn.iocoder.yudao.module.member.vo.ActiveMainSaveReqVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 营销活动") +@RestController +@RequestMapping("/member/active-main") +@Validated +public class ActiveMainController { + + @Resource + private ActiveMainService activeMainService; + + /** + * 创建营销活动 + * + * @param createReqVO ActiveMainSaveReqVO实体 + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult + * @author PQZ + * @date 14:12 2024/9/19 + **/ + @PostMapping("/create") + @Operation(summary = "创建营销活动") + @PreAuthorize("@ss.hasPermission('member:active-main:create')") + public CommonResult createActiveMain(@Valid @RequestBody ActiveMainSaveReqVO createReqVO) { + activeMainService.saveActiveMain(createReqVO); + return success(true); + } + + /** + * 更新营销活动 + * + * @param updateReqVO ActiveMainSaveReqVO实体 + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult + * @author PQZ + * @date 14:12 2024/9/19 + **/ + @PutMapping("/update") + @Operation(summary = "更新营销活动") + @PreAuthorize("@ss.hasPermission('member:active-main:update')") + public CommonResult updateActiveMain(@Valid @RequestBody ActiveMainSaveReqVO updateReqVO) { + activeMainService.saveActiveMain(updateReqVO); + return success(true); + } + + /** + * 删除营销活动 + * + * @param id 营销活动id + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult + * @author PQZ + * @date 14:12 2024/9/19 + **/ + @DeleteMapping("/delete") + @Operation(summary = "删除营销活动") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('member:active-main:delete')") + public CommonResult deleteActiveMain(@RequestParam("id") String id) { + activeMainService.deleteActiveMain(id); + return success(true); + } + + /** + * 通过营销活动id获取营销活动 + * + * @param id 营销活动id + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult + * @author PQZ + * @date 14:13 2024/9/19 + **/ + @GetMapping("/get") + @Operation(summary = "获得营销活动") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('member:active-main:query')") + public CommonResult getActiveMain(@RequestParam("id") String id) { + ActiveMain activeMain = activeMainService.getActiveMain(id); + return success(BeanUtils.toBean(activeMain, ActiveMainRespVO.class)); + } + + /** + * 分页查询营销活动 + * + * @param pageReqVO ActiveMainPageReqVO + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult> + * @author PQZ + * @date 14:13 2024/9/19 + **/ + @GetMapping("/page") + @Operation(summary = "获得营销活动分页") + @PreAuthorize("@ss.hasPermission('member:active-main:query')") + public CommonResult> getActiveMainPage(ActiveMainPageReqVO pageReqVO, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + Page page = new Page<>(pageNo, pageSize); + return success(activeMainService.queryListPage(pageReqVO, page)); + } + + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/ActiveRuleController.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/ActiveRuleController.java new file mode 100644 index 00000000..1656193a --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/ActiveRuleController.java @@ -0,0 +1,93 @@ +package cn.iocoder.yudao.module.member.controller.admin; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.member.entity.ActiveRule; +import cn.iocoder.yudao.module.member.service.ActiveRuleService; +import cn.iocoder.yudao.module.member.vo.ActiveRulePageReqVO; +import cn.iocoder.yudao.module.member.vo.ActiveRuleRespVO; +import cn.iocoder.yudao.module.member.vo.ActiveRuleSaveReqVO; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; + +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 营销活动规则") +@RestController +@RequestMapping("/member/active-rule") +@Validated +public class ActiveRuleController { + + @Resource + private ActiveRuleService activeRuleService; + + @PostMapping("/create") + @Operation(summary = "创建营销活动规则") + @PreAuthorize("@ss.hasPermission('member:active-rule:create')") + public CommonResult createActiveRule(@Valid @RequestBody ActiveRuleSaveReqVO createReqVO) { + return success(activeRuleService.createActiveRule(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新营销活动规则") + @PreAuthorize("@ss.hasPermission('member:active-rule:update')") + public CommonResult updateActiveRule(@Valid @RequestBody ActiveRuleSaveReqVO updateReqVO) { + activeRuleService.updateActiveRule(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除营销活动规则") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('member:active-rule:delete')") + public CommonResult deleteActiveRule(@RequestParam("id") String id) { + activeRuleService.deleteActiveRule(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得营销活动规则") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('member:active-rule:query')") + public CommonResult getActiveRule(@RequestParam("id") String id) { + ActiveRule activeRule = activeRuleService.getActiveRule(id); + return success(BeanUtils.toBean(activeRule, ActiveRuleRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得营销活动规则分页") + @PreAuthorize("@ss.hasPermission('member:active-rule:query')") + public CommonResult> getActiveRulePage(@Valid ActiveRulePageReqVO pageReqVO) { + PageResult pageResult = activeRuleService.getActiveRulePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ActiveRuleRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出营销活动规则 Excel") + @PreAuthorize("@ss.hasPermission('member:active-rule:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportActiveRuleExcel(@Valid ActiveRulePageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = activeRuleService.getActiveRulePage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "营销活动规则.xls", "数据", ActiveRuleRespVO.class, + BeanUtils.toBean(list, ActiveRuleRespVO.class)); + } + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/ActiveRuleCouponController.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/ActiveRuleCouponController.java new file mode 100644 index 00000000..a1a6e131 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/ActiveRuleCouponController.java @@ -0,0 +1,93 @@ +package cn.iocoder.yudao.module.member.controller.admin; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.member.entity.ActiveRuleCoupon; +import cn.iocoder.yudao.module.member.service.ActiveRuleCouponService; +import cn.iocoder.yudao.module.member.vo.ActiveRuleCouponPageReqVO; +import cn.iocoder.yudao.module.member.vo.ActiveRuleCouponRespVO; +import cn.iocoder.yudao.module.member.vo.ActiveRuleCouponSaveReqVO; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; + +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 营销活动、规则及会员等级与基础卡券关联关系") +@RestController +@RequestMapping("/member/active-rule-coupon") +@Validated +public class ActiveRuleCouponController { + + @Resource + private ActiveRuleCouponService activeRuleCouponService; + + @PostMapping("/create") + @Operation(summary = "创建营销活动、规则及会员等级与基础卡券关联关系") + @PreAuthorize("@ss.hasPermission('member:active-rule-coupon:create')") + public CommonResult createActiveRuleCoupon(@Valid @RequestBody ActiveRuleCouponSaveReqVO createReqVO) { + return success(activeRuleCouponService.createActiveRuleCoupon(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新营销活动、规则及会员等级与基础卡券关联关系") + @PreAuthorize("@ss.hasPermission('member:active-rule-coupon:update')") + public CommonResult updateActiveRuleCoupon(@Valid @RequestBody ActiveRuleCouponSaveReqVO updateReqVO) { + activeRuleCouponService.updateActiveRuleCoupon(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除营销活动、规则及会员等级与基础卡券关联关系") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('member:active-rule-coupon:delete')") + public CommonResult deleteActiveRuleCoupon(@RequestParam("id") String id) { + activeRuleCouponService.deleteActiveRuleCoupon(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得营销活动、规则及会员等级与基础卡券关联关系") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('member:active-rule-coupon:query')") + public CommonResult getActiveRuleCoupon(@RequestParam("id") String id) { + ActiveRuleCoupon activeRuleCoupon = activeRuleCouponService.getActiveRuleCoupon(id); + return success(BeanUtils.toBean(activeRuleCoupon, ActiveRuleCouponRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得营销活动、规则及会员等级与基础卡券关联关系分页") + @PreAuthorize("@ss.hasPermission('member:active-rule-coupon:query')") + public CommonResult> getActiveRuleCouponPage(@Valid ActiveRuleCouponPageReqVO pageReqVO) { + PageResult pageResult = activeRuleCouponService.getActiveRuleCouponPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ActiveRuleCouponRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出营销活动、规则及会员等级与基础卡券关联关系 Excel") + @PreAuthorize("@ss.hasPermission('member:active-rule-coupon:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportActiveRuleCouponExcel(@Valid ActiveRuleCouponPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = activeRuleCouponService.getActiveRuleCouponPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "营销活动、规则及会员等级与基础卡券关联关系.xls", "数据", ActiveRuleCouponRespVO.class, + BeanUtils.toBean(list, ActiveRuleCouponRespVO.class)); + } + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/MemberCouponController.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/MemberCouponController.java new file mode 100644 index 00000000..14b4412d --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/MemberCouponController.java @@ -0,0 +1,127 @@ +package cn.iocoder.yudao.module.member.controller.admin; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.member.entity.MemberCoupon; +import cn.iocoder.yudao.module.member.service.MemberCouponService; +import cn.iocoder.yudao.module.member.vo.MemberCouponPageReqVO; +import cn.iocoder.yudao.module.member.vo.MemberCouponRespVO; +import cn.iocoder.yudao.module.member.vo.MemberCouponSaveReqVO; +import cn.iocoder.yudao.module.member.vo.MemberLevelRespVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; + +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 基础卡券") +@RestController +@RequestMapping("/member/coupon") +@Validated +public class MemberCouponController { + + @Resource + private MemberCouponService couponService; + + /** + * 创建基础卡券 + * + * @param createReqVO MemberCouponSaveReqVO + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult + * @author PQZ + * @date 14:19 2024/9/19 + **/ + @PostMapping("/create") + @Operation(summary = "创建基础卡券") + @PreAuthorize("@ss.hasPermission('member:coupon:create')") + public CommonResult createCoupon(@Valid @RequestBody MemberCouponSaveReqVO saveReqVO) { + couponService.saveCoupon(saveReqVO); + return success(true); + } + + /** + * 更新基础卡券 + * + * @param updateReqVO MemberCouponSaveReqVO + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult + * @author PQZ + * @date 14:19 2024/9/19 + **/ + @PutMapping("/update") + @Operation(summary = "更新基础卡券") + @PreAuthorize("@ss.hasPermission('member:coupon:update')") + public CommonResult updateCoupon(@Valid @RequestBody MemberCouponSaveReqVO saveReqVO) { + couponService.saveCoupon(saveReqVO); + return success(true); + } + + /** + * 删除基础卡券 + * + * @param id 基础卡券id + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult + * @author PQZ + * @date 14:19 2024/9/19 + **/ + @DeleteMapping("/delete") + @Operation(summary = "删除基础卡券") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('member:coupon:delete')") + public CommonResult deleteCoupon(@RequestParam("id") String id) { + couponService.deleteCoupon(id); + return success(true); + } + + /** + * 通过id获取基础卡券 + * + * @param id 卡券id + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult + * @author PQZ + * @date 14:20 2024/9/19 + **/ + @GetMapping("/get") + @Operation(summary = "获得基础卡券") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('member:coupon:query')") + public CommonResult getCoupon(@RequestParam("id") String id) { + MemberCoupon coupon = couponService.getCoupon(id); + return success(BeanUtils.toBean(coupon, MemberCouponRespVO.class)); + } + + /** + * 分页查询基础卡券信息 + * + * @param pageReqVO MemberCouponPageReqVO实体 + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult> + * @author PQZ + * @date 14:20 2024/9/19 + **/ + @GetMapping("/page") + @Operation(summary = "获得基础卡券分页") + @PreAuthorize("@ss.hasPermission('member:coupon:query')") + public CommonResult> getCouponPage(@Valid MemberCouponPageReqVO pageReqVO, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + Page page = new Page<>(pageNo, pageSize); + return success(couponService.queryListPage(pageReqVO, page)); + } + + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/MemberLevelController.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/MemberLevelController.java new file mode 100644 index 00000000..f0b923d1 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/MemberLevelController.java @@ -0,0 +1,119 @@ +package cn.iocoder.yudao.module.member.controller.admin; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.member.entity.MemberLevel; +import cn.iocoder.yudao.module.member.service.MemberLevelService; +import cn.iocoder.yudao.module.member.vo.MemberLevelPageReqVO; +import cn.iocoder.yudao.module.member.vo.MemberLevelRespVO; +import cn.iocoder.yudao.module.member.vo.MemberLevelSaveReqVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + + +@Tag(name = "管理后台 - 会员等级") +@RestController +@RequestMapping("/member/level") +@Validated +public class MemberLevelController { + + @Resource + private MemberLevelService levelService; + + /** + * 创建会员等级 + * + * @param createReqVO MemberLevelSaveReqVO实体 + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult + * @author PQZ + * @date 13:37 2024/9/19 + **/ + @PostMapping("/create") + @Operation(summary = "创建会员等级") + @PreAuthorize("@ss.hasPermission('member:level:create')") + public CommonResult createLevel(@Valid @RequestBody MemberLevelSaveReqVO createReqVO) { + levelService.saveLevel(createReqVO); + return success(true); + } + + /** + * 更新会员等级 + * + * @param updateReqVO MemberLevelSaveReqVO实体 + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult + * @author PQZ + * @date 13:37 2024/9/19 + **/ + @PutMapping("/update") + @Operation(summary = "更新会员等级") + @PreAuthorize("@ss.hasPermission('member:level:update')") + public CommonResult updateLevel(@Valid @RequestBody MemberLevelSaveReqVO updateReqVO) { + levelService.saveLevel(updateReqVO); + return success(true); + } + + /** + * 删除会员等级 + * + * @param id 会员等级id + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult + * @author PQZ + * @date 13:38 2024/9/19 + **/ + @DeleteMapping("/delete") + @Operation(summary = "删除会员等级") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('member:level:delete')") + public CommonResult deleteLevel(@RequestParam("id") String id) { + levelService.deleteLevel(id); + return success(true); + } + + /** + * 获取会员等级 + * + * @param id 会员等级id + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult + * @author PQZ + * @date 13:38 2024/9/19 + **/ + @GetMapping("/get") + @Operation(summary = "获得会员等级") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('member:level:query')") + public CommonResult getLevel(@RequestParam("id") String id) { + MemberLevel level = levelService.getLevel(id); + return success(BeanUtils.toBean(level, MemberLevelRespVO.class)); + } + + /** + * 分页获取会员等级 + * + * @param pageReqVO MemberLevelPageReqVO实体 + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult> + * @author PQZ + * @date 13:38 2024/9/19 + **/ + @GetMapping("/page") + @Operation(summary = "获得会员等级分页") + @PreAuthorize("@ss.hasPermission('member:level:query')") + public CommonResult> getLevelPage(MemberLevelPageReqVO pageReqVO, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + Page page = new Page<>(pageNo, pageSize); + return success(levelService.queryListPage(pageReqVO,page)); + } + + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/entity/ActiveMain.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/entity/ActiveMain.java new file mode 100644 index 00000000..bf6d3977 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/entity/ActiveMain.java @@ -0,0 +1,61 @@ +package cn.iocoder.yudao.module.member.entity; + +import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 营销活动 DO + * + * @author pqz + */ +@TableName("dl_active_main") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ActiveMain extends TenantBaseDO { + + /** + * 主键标识 + */ + @TableId(type = IdType.ASSIGN_UUID) + private String id; + /** + * 活动名称 + */ + private String name; + /** + * 活动类型(充值有礼;注册有礼;开卡有礼) + */ + private String type; + /** + * 活动开始时间 + */ + private LocalDateTime beginTime; + /** + * 活动结束时间 + */ + private LocalDateTime endTime; + /** + * 活动状态 + */ + private String status; + /** + * 活动描述 + */ + private String remark; + /** + * 是否区分会员等级 + */ + private String isMember; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/entity/ActiveRule.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/entity/ActiveRule.java new file mode 100644 index 00000000..98a8f0d8 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/entity/ActiveRule.java @@ -0,0 +1,52 @@ +package cn.iocoder.yudao.module.member.entity; + +import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 营销活动规则 DO + * + * @author pqz + */ +@TableName("dl_active_rule") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ActiveRule extends TenantBaseDO { + + /** + * 主键标识 + */ + @TableId(type = IdType.ASSIGN_UUID) + private String id; + /** + * 活动id + */ + private String activeId; + /** + * 规则名称 + */ + private String name; + /** + * 会员等级 + */ + private String memberLevel; + /** + * 充值金额 + */ + private BigDecimal rechAmount; + /** + * 赠送金额 + */ + private String giveAmount; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/entity/ActiveRuleCoupon.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/entity/ActiveRuleCoupon.java new file mode 100644 index 00000000..44a3d3fa --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/entity/ActiveRuleCoupon.java @@ -0,0 +1,43 @@ +package cn.iocoder.yudao.module.member.entity; + +import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 营销活动、规则及会员等级与基础卡券关联关系 DO + * + * @author pqz + */ +@TableName("dl_active_rule_coupon") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ActiveRuleCoupon extends TenantBaseDO { + + /** + * 主键标识 + */ + @TableId(type = IdType.ASSIGN_UUID) + private String id; + /** + * 基础卡券表id + */ + private String couponId; + /** + * 营销活动、规则、会员等级表id + */ + private String mainId; + /** + * 主表名称 + */ + private String mainTable; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/entity/MemberCoupon.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/entity/MemberCoupon.java new file mode 100644 index 00000000..2f7fd77d --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/entity/MemberCoupon.java @@ -0,0 +1,76 @@ +package cn.iocoder.yudao.module.member.entity; + +import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 基础卡券 DO + * + * @author pqz + */ +@TableName("dl_member_coupon") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MemberCoupon extends TenantBaseDO { + + /** + * 主键标识 + */ + @TableId(type = IdType.ASSIGN_UUID) + private String id; + /** + * 卡券名称 + */ + private String name; + /** + * 卡券类型(保养卡、服务券、礼包券) + */ + private String type; + /** + * 适用车型(数据字典) + */ + private String carModel; + /** + * 开始有效期 + */ + private LocalDateTime beginTime; + /** + * 结束有效期 + */ + private LocalDateTime endTime; + /** + * 适用子公司 + */ + private String corpIds; + /** + * 面额 + */ + private BigDecimal amount; + /**单价*/ + private BigDecimal unitPrice; + /** + * 效果图片 + */ + private String image; + /** + * 备注 + */ + private String remark; + /** + * 核销规则(记次核销、面额核销、一次性核销) + */ + private String outRule; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/entity/MemberLevel.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/entity/MemberLevel.java new file mode 100644 index 00000000..8e22665a --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/entity/MemberLevel.java @@ -0,0 +1,57 @@ +package cn.iocoder.yudao.module.member.entity; + +import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +import java.math.BigDecimal; + +/** + * 会员等级 DO + * + * @author pqz + */ +@TableName("dl_member_level") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MemberLevel extends TenantBaseDO { + + /** + * 主键标识 + */ + @TableId(type = IdType.ASSIGN_UUID) + private String id; + /** + * 等级排序 + */ + private String sort; + /** + * 等级名称 + */ + private String name; + /** + * 状态(01启用,02禁用) + */ + private String status; + /** + * 升级所需积分 + */ + private String growthValue; + /**会员折扣*/ + private BigDecimal discount; + /** + * 等级说明 + */ + private String remark; + /** + * 等级权益 + */ + private String userEquity; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/mapper/ActiveMainMapper.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/mapper/ActiveMainMapper.java new file mode 100644 index 00000000..9648ad74 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/mapper/ActiveMainMapper.java @@ -0,0 +1,32 @@ +package cn.iocoder.yudao.module.member.mapper; + +import cn.iocoder.yudao.module.member.entity.ActiveMain; +import cn.iocoder.yudao.module.member.vo.ActiveMainPageReqVO; +import cn.iocoder.yudao.module.member.vo.ActiveMainRespVO; +import cn.iocoder.yudao.module.member.vo.MemberLevelPageReqVO; +import cn.iocoder.yudao.module.member.vo.MemberLevelRespVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 营销活动 Mapper + * + * @author pqz + */ +@Mapper +public interface ActiveMainMapper extends BaseMapper { + + /** + * 分页查询活动规则 + * + * @param entity ActiveMainPageReqVO实体 + * @param page 分页参数 + * @return com.baomidou.mybatisplus.core.metadata.IPage + * @author PQZ + * @date 14:10 2024/9/19 + **/ + IPage selectListPage(@Param("entity") ActiveMainPageReqVO entity, Page page); +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/mapper/ActiveRuleCouponMapper.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/mapper/ActiveRuleCouponMapper.java new file mode 100644 index 00000000..1738fe31 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/mapper/ActiveRuleCouponMapper.java @@ -0,0 +1,17 @@ +package cn.iocoder.yudao.module.member.mapper; + +import cn.iocoder.yudao.module.member.entity.ActiveRuleCoupon; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 营销活动、规则及会员等级与基础卡券关联关系 Mapper + * + * @author pqz + */ +@Mapper +public interface ActiveRuleCouponMapper extends BaseMapper { + + + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/mapper/ActiveRuleMapper.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/mapper/ActiveRuleMapper.java new file mode 100644 index 00000000..65a40d66 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/mapper/ActiveRuleMapper.java @@ -0,0 +1,16 @@ +package cn.iocoder.yudao.module.member.mapper; + +import cn.iocoder.yudao.module.member.entity.ActiveRule; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 营销活动规则 Mapper + * + * @author pqz + */ +@Mapper +public interface ActiveRuleMapper extends BaseMapper { + + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/mapper/MemberCouponMapper.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/mapper/MemberCouponMapper.java new file mode 100644 index 00000000..35e8113b --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/mapper/MemberCouponMapper.java @@ -0,0 +1,32 @@ +package cn.iocoder.yudao.module.member.mapper; + +import cn.iocoder.yudao.module.member.entity.MemberCoupon; +import cn.iocoder.yudao.module.member.vo.MemberCouponPageReqVO; +import cn.iocoder.yudao.module.member.vo.MemberCouponRespVO; +import cn.iocoder.yudao.module.member.vo.MemberLevelPageReqVO; +import cn.iocoder.yudao.module.member.vo.MemberLevelRespVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 基础卡券 Mapper + * + * @author pqz + */ +@Mapper +public interface MemberCouponMapper extends BaseMapper { + + /** + * 分页查询基础卡券信息 + * + * @param entity MemberCouponPageReqVO实体 + * @param page 分页参数 + * @return com.baomidou.mybatisplus.core.metadata.IPage + * @author PQZ + * @date 14:06 2024/9/19 + **/ + IPage selectListPage(@Param("entity") MemberCouponPageReqVO entity, Page page); +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/mapper/MemberLevelMapper.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/mapper/MemberLevelMapper.java new file mode 100644 index 00000000..01f73298 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/mapper/MemberLevelMapper.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.member.mapper; + +import cn.iocoder.yudao.module.company.entity.Company; +import cn.iocoder.yudao.module.company.vo.CompanyReqVO; +import cn.iocoder.yudao.module.member.entity.MemberLevel; +import cn.iocoder.yudao.module.member.vo.MemberLevelPageReqVO; +import cn.iocoder.yudao.module.member.vo.MemberLevelRespVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 会员等级 Mapper + * + * @author pqz + */ +@Mapper +public interface MemberLevelMapper extends BaseMapper { + + /** + * 分页查询会员 + * + * @param entity MemberLevelPageReqVO实体 + * @param page 分页参数 + * @return com.baomidou.mybatisplus.core.metadata.IPage + * @author PQZ + * @date 13:48 2024/9/19 + **/ + IPage selectListPage(@Param("entity") MemberLevelPageReqVO entity, Page page); + + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/ActiveMainService.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/ActiveMainService.java new file mode 100644 index 00000000..c3d42f67 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/ActiveMainService.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.member.service; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.member.entity.ActiveMain; +import cn.iocoder.yudao.module.member.vo.*; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import javax.validation.Valid; + +/** + * 营销活动 Service 接口 + * + * @author pqz + */ +public interface ActiveMainService extends IService { + + /** + * 保存营销活动 + * + * @param saveReqVO ActiveMainSaveReqVO + * @author PQZ + * @date 14:14 2024/9/19 + **/ + void saveActiveMain(ActiveMainSaveReqVO saveReqVO); + + + /** + * 删除营销活动 + * + * @param id 编号 + */ + void deleteActiveMain(String id); + + /** + * 获得营销活动 + * + * @param id 编号 + * @return 营销活动 + */ + ActiveMain getActiveMain(String id); + + /** + * 分页查询营销活动 + * + * @param pageReqVO ActiveMainPageReqVO实体 + * @param page 分页参数 + * @return com.baomidou.mybatisplus.core.metadata.IPage + * @author PQZ + * @date 14:17 2024/9/19 + **/ + IPage queryListPage(ActiveMainPageReqVO pageReqVO, Page page); + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/ActiveRuleCouponService.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/ActiveRuleCouponService.java new file mode 100644 index 00000000..59018dc8 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/ActiveRuleCouponService.java @@ -0,0 +1,56 @@ +package cn.iocoder.yudao.module.member.service; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.member.entity.ActiveRuleCoupon; +import cn.iocoder.yudao.module.member.vo.ActiveRuleCouponPageReqVO; +import cn.iocoder.yudao.module.member.vo.ActiveRuleCouponSaveReqVO; +import com.baomidou.mybatisplus.extension.service.IService; + +import javax.validation.Valid; + +/** + * 营销活动、规则及会员等级与基础卡券关联关系 Service 接口 + * + * @author pqz + */ +public interface ActiveRuleCouponService extends IService { + + /** + * 创建营销活动、规则及会员等级与基础卡券关联关系 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createActiveRuleCoupon(@Valid ActiveRuleCouponSaveReqVO createReqVO); + + /** + * 更新营销活动、规则及会员等级与基础卡券关联关系 + * + * @param updateReqVO 更新信息 + */ + void updateActiveRuleCoupon(@Valid ActiveRuleCouponSaveReqVO updateReqVO); + + /** + * 删除营销活动、规则及会员等级与基础卡券关联关系 + * + * @param id 编号 + */ + void deleteActiveRuleCoupon(String id); + + /** + * 获得营销活动、规则及会员等级与基础卡券关联关系 + * + * @param id 编号 + * @return 营销活动、规则及会员等级与基础卡券关联关系 + */ + ActiveRuleCoupon getActiveRuleCoupon(String id); + + /** + * 获得营销活动、规则及会员等级与基础卡券关联关系分页 + * + * @param pageReqVO 分页查询 + * @return 营销活动、规则及会员等级与基础卡券关联关系分页 + */ + PageResult getActiveRuleCouponPage(ActiveRuleCouponPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/ActiveRuleService.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/ActiveRuleService.java new file mode 100644 index 00000000..84da7d45 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/ActiveRuleService.java @@ -0,0 +1,56 @@ +package cn.iocoder.yudao.module.member.service; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.member.entity.ActiveRule; +import cn.iocoder.yudao.module.member.vo.ActiveRulePageReqVO; +import cn.iocoder.yudao.module.member.vo.ActiveRuleSaveReqVO; +import com.baomidou.mybatisplus.extension.service.IService; + +import javax.validation.Valid; + +/** + * 营销活动规则 Service 接口 + * + * @author pqz + */ +public interface ActiveRuleService extends IService { + + /** + * 创建营销活动规则 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createActiveRule(@Valid ActiveRuleSaveReqVO createReqVO); + + /** + * 更新营销活动规则 + * + * @param updateReqVO 更新信息 + */ + void updateActiveRule(@Valid ActiveRuleSaveReqVO updateReqVO); + + /** + * 删除营销活动规则 + * + * @param id 编号 + */ + void deleteActiveRule(String id); + + /** + * 获得营销活动规则 + * + * @param id 编号 + * @return 营销活动规则 + */ + ActiveRule getActiveRule(String id); + + /** + * 获得营销活动规则分页 + * + * @param pageReqVO 分页查询 + * @return 营销活动规则分页 + */ + PageResult getActiveRulePage(ActiveRulePageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/MemberCouponService.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/MemberCouponService.java new file mode 100644 index 00000000..37331b1a --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/MemberCouponService.java @@ -0,0 +1,56 @@ +package cn.iocoder.yudao.module.member.service; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.member.entity.MemberCoupon; +import cn.iocoder.yudao.module.member.vo.*; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import javax.validation.Valid; + +/** + * 基础卡券 Service 接口 + * + * @author pqz + */ +public interface MemberCouponService extends IService { + + + /** + * 保存基础卡券信息 + * + * @param saveReqVO TODO + * @return void + * @author PQZ + * @date 14:22 2024/9/19 + **/ + void saveCoupon(@Valid MemberCouponSaveReqVO saveReqVO); + + /** + * 删除基础卡券 + * + * @param id 编号 + */ + void deleteCoupon(String id); + + /** + * 获得基础卡券 + * + * @param id 编号 + * @return 基础卡券 + */ + MemberCoupon getCoupon(String id); + + /** + * 分页查询基础卡券信息 + * + * @param pageReqVO MemberCouponPageReqVO实体 + * @param page 分页参数 + * @return com.baomidou.mybatisplus.core.metadata.IPage + * @author PQZ + * @date 14:22 2024/9/19 + **/ + IPage queryListPage(MemberCouponPageReqVO pageReqVO, Page page); + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/MemberLevelService.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/MemberLevelService.java new file mode 100644 index 00000000..0e2ea5d2 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/MemberLevelService.java @@ -0,0 +1,57 @@ +package cn.iocoder.yudao.module.member.service; + +import cn.iocoder.yudao.module.member.entity.MemberLevel; +import cn.iocoder.yudao.module.member.vo.MemberLevelPageReqVO; +import cn.iocoder.yudao.module.member.vo.MemberLevelRespVO; +import cn.iocoder.yudao.module.member.vo.MemberLevelSaveReqVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 会员等级 Service 接口 + * + * @author pqz + */ +public interface MemberLevelService extends IService { + + + /** + * 保存会员等级 + * + * @param saveReqVO MemberLevelSaveReqVO + * @author PQZ + * @date 13:39 2024/9/19 + **/ + void saveLevel(MemberLevelSaveReqVO saveReqVO); + + /** + * 删除会员等级 + * + * @param id 会员等级id + * @author PQZ + * @date 13:41 2024/9/19 + **/ + void deleteLevel(String id); + + /** + * 根据会员等级id查询会员等级信息 + * + * @param id 会员等级id + * @return cn.iocoder.yudao.module.member.entity.MemberLevel + * @author PQZ + * @date 13:41 2024/9/19 + **/ + MemberLevel getLevel(String id); + + /** + * 分页查询会员等级 + * + * @param pageReqVO MemberLevelPageReqVO实体 + * @return cn.iocoder.yudao.framework.common.pojo.PageResult + * @author PQZ + * @date 13:42 2024/9/19 + **/ + IPage queryListPage(MemberLevelPageReqVO pageReqVO, Page page); + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/impl/ActiveMainServiceImpl.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/impl/ActiveMainServiceImpl.java new file mode 100644 index 00000000..3f5a30d0 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/impl/ActiveMainServiceImpl.java @@ -0,0 +1,73 @@ +package cn.iocoder.yudao.module.member.service.impl; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.member.entity.ActiveMain; +import cn.iocoder.yudao.module.member.mapper.ActiveMainMapper; +import cn.iocoder.yudao.module.member.service.ActiveMainService; +import cn.iocoder.yudao.module.member.vo.ActiveMainPageReqVO; +import cn.iocoder.yudao.module.member.vo.ActiveMainRespVO; +import cn.iocoder.yudao.module.member.vo.ActiveMainSaveReqVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; + +/** + * 营销活动 Service 实现类 + * + * @author pqz + */ +@Service +@Validated +public class ActiveMainServiceImpl extends ServiceImpl implements ActiveMainService { + + @Resource + private ActiveMainMapper activeMainMapper; + + + /** + * 保存营销活动 + * + * @param saveReqVO ActiveMainSaveReqVO + * @author PQZ + * @date 14:14 2024/9/19 + **/ + @Override + public void saveActiveMain(ActiveMainSaveReqVO saveReqVO) { + ActiveMain activeMain = BeanUtils.toBean(saveReqVO,ActiveMain.class); + saveOrUpdate(activeMain); + } + + @Override + public void deleteActiveMain(String id) { + // 删除 + activeMainMapper.deleteById(id); + } + + + + @Override + public ActiveMain getActiveMain(String id) { + return activeMainMapper.selectById(id); + } + + /** + * 分页查询营销活动 + * + * @param pageReqVO ActiveMainPageReqVO实体 + * @param page 分页参数 + * @return com.baomidou.mybatisplus.core.metadata.IPage + * @author PQZ + * @date 14:17 2024/9/19 + **/ + @Override + public IPage queryListPage(ActiveMainPageReqVO pageReqVO, Page page) { + return activeMainMapper.selectListPage(pageReqVO,page); + } + + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/impl/ActiveRuleCouponServiceImpl.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/impl/ActiveRuleCouponServiceImpl.java new file mode 100644 index 00000000..61afec73 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/impl/ActiveRuleCouponServiceImpl.java @@ -0,0 +1,64 @@ +package cn.iocoder.yudao.module.member.service.impl; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.member.entity.ActiveRuleCoupon; +import cn.iocoder.yudao.module.member.mapper.ActiveRuleCouponMapper; +import cn.iocoder.yudao.module.member.service.ActiveRuleCouponService; +import cn.iocoder.yudao.module.member.vo.ActiveRuleCouponPageReqVO; +import cn.iocoder.yudao.module.member.vo.ActiveRuleCouponSaveReqVO; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; + +/** + * 营销活动、规则及会员等级与基础卡券关联关系 Service 实现类 + * + * @author pqz + */ +@Service +@Validated +public class ActiveRuleCouponServiceImpl extends ServiceImpl implements ActiveRuleCouponService { + + @Resource + private ActiveRuleCouponMapper activeRuleCouponMapper; + + @Override + public String createActiveRuleCoupon(ActiveRuleCouponSaveReqVO createReqVO) { + // 插入 + ActiveRuleCoupon activeRuleCoupon = BeanUtils.toBean(createReqVO, ActiveRuleCoupon.class); + activeRuleCouponMapper.insert(activeRuleCoupon); + // 返回 + return activeRuleCoupon.getId(); + } + + @Override + public void updateActiveRuleCoupon(ActiveRuleCouponSaveReqVO updateReqVO) { + // 校验存在 + // 更新 + ActiveRuleCoupon updateObj = BeanUtils.toBean(updateReqVO, ActiveRuleCoupon.class); + activeRuleCouponMapper.updateById(updateObj); + } + + @Override + public void deleteActiveRuleCoupon(String id) { + // 校验存在 + // 删除 + activeRuleCouponMapper.deleteById(id); + } + + + + @Override + public ActiveRuleCoupon getActiveRuleCoupon(String id) { + return activeRuleCouponMapper.selectById(id); + } + + @Override + public PageResult getActiveRuleCouponPage(ActiveRuleCouponPageReqVO pageReqVO) { + return null; + } + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/impl/ActiveRuleServiceImpl.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/impl/ActiveRuleServiceImpl.java new file mode 100644 index 00000000..5e10ae46 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/impl/ActiveRuleServiceImpl.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.member.service.impl; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.member.entity.ActiveRule; +import cn.iocoder.yudao.module.member.mapper.ActiveRuleMapper; +import cn.iocoder.yudao.module.member.service.ActiveRuleService; +import cn.iocoder.yudao.module.member.vo.ActiveRulePageReqVO; +import cn.iocoder.yudao.module.member.vo.ActiveRuleSaveReqVO; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; + +/** + * 营销活动规则 Service 实现类 + * + * @author pqz + */ +@Service +@Validated +public class ActiveRuleServiceImpl extends ServiceImpl implements ActiveRuleService { + + @Resource + private ActiveRuleMapper activeRuleMapper; + + @Override + public String createActiveRule(ActiveRuleSaveReqVO createReqVO) { + // 插入 + ActiveRule activeRule = BeanUtils.toBean(createReqVO, ActiveRule.class); + activeRuleMapper.insert(activeRule); + // 返回 + return activeRule.getId(); + } + + @Override + public void updateActiveRule(ActiveRuleSaveReqVO updateReqVO) { + // 更新 + ActiveRule updateObj = BeanUtils.toBean(updateReqVO, ActiveRule.class); + activeRuleMapper.updateById(updateObj); + } + + @Override + public void deleteActiveRule(String id) { + // 删除 + activeRuleMapper.deleteById(id); + } + + + + @Override + public ActiveRule getActiveRule(String id) { + return activeRuleMapper.selectById(id); + } + + @Override + public PageResult getActiveRulePage(ActiveRulePageReqVO pageReqVO) { + return null; + } + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/impl/MemberCouponServiceImpl.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/impl/MemberCouponServiceImpl.java new file mode 100644 index 00000000..500a6327 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/impl/MemberCouponServiceImpl.java @@ -0,0 +1,74 @@ +package cn.iocoder.yudao.module.member.service.impl; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.member.entity.MemberCoupon; +import cn.iocoder.yudao.module.member.mapper.MemberCouponMapper; +import cn.iocoder.yudao.module.member.service.MemberCouponService; +import cn.iocoder.yudao.module.member.vo.MemberCouponPageReqVO; +import cn.iocoder.yudao.module.member.vo.MemberCouponRespVO; +import cn.iocoder.yudao.module.member.vo.MemberCouponSaveReqVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; + +/** + * 基础卡券 Service 实现类 + * + * @author pqz + */ +@Service +@Validated +public class MemberCouponServiceImpl extends ServiceImpl implements MemberCouponService { + + @Resource + private MemberCouponMapper couponMapper; + + + /** + * 保存基础卡券信息 + * + * @param saveReqVO MemberCouponSaveReqVO实体 + * @return void + * @author PQZ + * @date 14:22 2024/9/19 + **/ + @Override + public void saveCoupon(MemberCouponSaveReqVO saveReqVO) { + MemberCoupon memberCoupon = BeanUtils.toBean(saveReqVO,MemberCoupon.class); + saveOrUpdate(memberCoupon); + } + + @Override + public void deleteCoupon(String id) { + // 删除 + couponMapper.deleteById(id); + } + + + + @Override + public MemberCoupon getCoupon(String id) { + return couponMapper.selectById(id); + } + + /** + * 分页查询基础卡券信息 + * + * @param pageReqVO MemberCouponPageReqVO实体 + * @param page 分页参数 + * @return com.baomidou.mybatisplus.core.metadata.IPage + * @author PQZ + * @date 14:22 2024/9/19 + **/ + @Override + public IPage queryListPage(MemberCouponPageReqVO pageReqVO, Page page) { + return couponMapper.selectListPage(pageReqVO,page); + } + + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/impl/MemberLevelServiceImpl.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/impl/MemberLevelServiceImpl.java new file mode 100644 index 00000000..7f4115fd --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/service/impl/MemberLevelServiceImpl.java @@ -0,0 +1,86 @@ +package cn.iocoder.yudao.module.member.service.impl; + +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.member.entity.MemberLevel; +import cn.iocoder.yudao.module.member.mapper.MemberLevelMapper; +import cn.iocoder.yudao.module.member.service.MemberLevelService; +import cn.iocoder.yudao.module.member.vo.MemberLevelPageReqVO; +import cn.iocoder.yudao.module.member.vo.MemberLevelRespVO; +import cn.iocoder.yudao.module.member.vo.MemberLevelSaveReqVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; + +/** + * 会员等级 Service 实现类 + * + * @author pqz + */ +@Service +@Validated +public class MemberLevelServiceImpl extends ServiceImpl implements MemberLevelService { + + @Resource + private MemberLevelMapper levelMapper; + + + /** + * 保存会员等级 + * + * @param saveReqVO MemberLevelSaveReqVO + * @author PQZ + * @date 13:39 2024/9/19 + **/ + @Override + public void saveLevel(MemberLevelSaveReqVO saveReqVO) { + MemberLevel memberLevel = BeanUtils.toBean(saveReqVO, MemberLevel.class); + saveOrUpdate(memberLevel); + } + + /** + * 删除会员等级 + * + * @param id 会员等级id + * @author PQZ + * @date 13:41 2024/9/19 + **/ + @Override + public void deleteLevel(String id) { + // 删除 + levelMapper.deleteById(id); + } + + + /** + * 根据会员等级id查询会员等级信息 + * + * @param id 会员等级id + * @return cn.iocoder.yudao.module.member.entity.MemberLevel + * @author PQZ + * @date 13:41 2024/9/19 + **/ + @Override + public MemberLevel getLevel(String id) { + return levelMapper.selectById(id); + } + + /** + * 分页查询会员等级 + * + * @param pageReqVO MemberLevelPageReqVO实体 + * @param page + * @return cn.iocoder.yudao.framework.common.pojo.PageResult + * @author PQZ + * @date 13:42 2024/9/19 + **/ + @Override + public IPage queryListPage(MemberLevelPageReqVO pageReqVO, Page page) { + return levelMapper.selectListPage(pageReqVO,page); + } + + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveMainPageReqVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveMainPageReqVO.java new file mode 100644 index 00000000..5bb8788f --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveMainPageReqVO.java @@ -0,0 +1,45 @@ +package cn.iocoder.yudao.module.member.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 营销活动分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ActiveMainPageReqVO extends PageParam { + + @Schema(description = "活动名称", example = "王五") + private String name; + + @Schema(description = "活动类型(充值有礼;注册有礼;开卡有礼)", example = "1") + private String type; + + @Schema(description = "活动开始时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] beginTime; + + @Schema(description = "活动结束时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] endTime; + + @Schema(description = "活动状态", example = "1") + private String status; + + @Schema(description = "活动描述", example = "随便") + private String remark; + + @Schema(description = "是否区分会员等级") + private String isMember; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveMainRespVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveMainRespVO.java new file mode 100644 index 00000000..df39294b --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveMainRespVO.java @@ -0,0 +1,51 @@ +package cn.iocoder.yudao.module.member.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 营销活动 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ActiveMainRespVO { + + @Schema(description = "主键标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "10407") + @ExcelProperty("主键标识") + private String id; + + @Schema(description = "活动名称", example = "王五") + @ExcelProperty("活动名称") + private String name; + + @Schema(description = "活动类型(充值有礼;注册有礼;开卡有礼)", example = "1") + @ExcelProperty("活动类型(充值有礼;注册有礼;开卡有礼)") + private String type; + + @Schema(description = "活动开始时间") + @ExcelProperty("活动开始时间") + private LocalDateTime beginTime; + + @Schema(description = "活动结束时间") + @ExcelProperty("活动结束时间") + private LocalDateTime endTime; + + @Schema(description = "活动状态", example = "1") + @ExcelProperty("活动状态") + private String status; + + @Schema(description = "活动描述", example = "随便") + @ExcelProperty("活动描述") + private String remark; + + @Schema(description = "是否区分会员等级") + @ExcelProperty("是否区分会员等级") + private String isMember; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveMainSaveReqVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveMainSaveReqVO.java new file mode 100644 index 00000000..0a2caf5c --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveMainSaveReqVO.java @@ -0,0 +1,38 @@ +package cn.iocoder.yudao.module.member.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 营销活动新增/修改 Request VO") +@Data +public class ActiveMainSaveReqVO { + + @Schema(description = "主键标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "10407") + private String id; + + @Schema(description = "活动名称", example = "王五") + private String name; + + @Schema(description = "活动类型(充值有礼;注册有礼;开卡有礼)", example = "1") + private String type; + + @Schema(description = "活动开始时间") + private LocalDateTime beginTime; + + @Schema(description = "活动结束时间") + private LocalDateTime endTime; + + @Schema(description = "活动状态", example = "1") + private String status; + + @Schema(description = "活动描述", example = "随便") + private String remark; + + @Schema(description = "是否区分会员等级") + private String isMember; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveRuleCouponPageReqVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveRuleCouponPageReqVO.java new file mode 100644 index 00000000..39787505 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveRuleCouponPageReqVO.java @@ -0,0 +1,32 @@ +package cn.iocoder.yudao.module.member.vo; + + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 营销活动、规则及会员等级与基础卡券关联关系分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ActiveRuleCouponPageReqVO extends PageParam { + + @Schema(description = "基础卡券表id", example = "780") + private String couponId; + + @Schema(description = "营销活动、规则、会员等级表id", example = "19295") + private String mainId; + + @Schema(description = "主表名称") + private String mainTable; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveRuleCouponRespVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveRuleCouponRespVO.java new file mode 100644 index 00000000..0437358b --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveRuleCouponRespVO.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.member.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 营销活动、规则及会员等级与基础卡券关联关系 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ActiveRuleCouponRespVO { + + @Schema(description = "主键标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "26827") + @ExcelProperty("主键标识") + private String id; + + @Schema(description = "基础卡券表id", example = "780") + @ExcelProperty("基础卡券表id") + private String couponId; + + @Schema(description = "营销活动、规则、会员等级表id", example = "19295") + @ExcelProperty("营销活动、规则、会员等级表id") + private String mainId; + + @Schema(description = "主表名称") + @ExcelProperty("主表名称") + private String mainTable; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveRuleCouponSaveReqVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveRuleCouponSaveReqVO.java new file mode 100644 index 00000000..57b6548a --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveRuleCouponSaveReqVO.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.member.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 营销活动、规则及会员等级与基础卡券关联关系新增/修改 Request VO") +@Data +public class ActiveRuleCouponSaveReqVO { + + @Schema(description = "主键标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "26827") + private String id; + + @Schema(description = "基础卡券表id", example = "780") + private String couponId; + + @Schema(description = "营销活动、规则、会员等级表id", example = "19295") + private String mainId; + + @Schema(description = "主表名称") + private String mainTable; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveRulePageReqVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveRulePageReqVO.java new file mode 100644 index 00000000..da07a749 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveRulePageReqVO.java @@ -0,0 +1,39 @@ +package cn.iocoder.yudao.module.member.vo; + + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 营销活动规则分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ActiveRulePageReqVO extends PageParam { + + @Schema(description = "活动id", example = "2412") + private String activeId; + + @Schema(description = "规则名称", example = "王五") + private String name; + + @Schema(description = "会员等级") + private String memberLevel; + + @Schema(description = "充值金额") + private BigDecimal rechAmount; + + @Schema(description = "赠送金额") + private String giveAmount; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveRuleRespVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveRuleRespVO.java new file mode 100644 index 00000000..a021d2bd --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveRuleRespVO.java @@ -0,0 +1,45 @@ +package cn.iocoder.yudao.module.member.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 营销活动规则 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ActiveRuleRespVO { + + @Schema(description = "主键标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "20194") + @ExcelProperty("主键标识") + private String id; + + @Schema(description = "活动id", example = "2412") + @ExcelProperty("活动id") + private String activeId; + + @Schema(description = "规则名称", example = "王五") + @ExcelProperty("规则名称") + private String name; + + @Schema(description = "会员等级") + @ExcelProperty("会员等级") + private String memberLevel; + + @Schema(description = "充值金额") + @ExcelProperty("充值金额") + private BigDecimal rechAmount; + + @Schema(description = "赠送金额") + @ExcelProperty("赠送金额") + private String giveAmount; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveRuleSaveReqVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveRuleSaveReqVO.java new file mode 100644 index 00000000..9266aa0f --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveRuleSaveReqVO.java @@ -0,0 +1,32 @@ +package cn.iocoder.yudao.module.member.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 营销活动规则新增/修改 Request VO") +@Data +public class ActiveRuleSaveReqVO { + + @Schema(description = "主键标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "20194") + private String id; + + @Schema(description = "活动id", example = "2412") + private String activeId; + + @Schema(description = "规则名称", example = "王五") + private String name; + + @Schema(description = "会员等级") + private String memberLevel; + + @Schema(description = "充值金额") + private BigDecimal rechAmount; + + @Schema(description = "赠送金额") + private String giveAmount; + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberCouponPageReqVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberCouponPageReqVO.java new file mode 100644 index 00000000..c2559307 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberCouponPageReqVO.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.member.vo; + + +import cn.iocoder.yudao.module.member.entity.MemberCoupon; +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 基础卡券分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class MemberCouponPageReqVO extends MemberCoupon { + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberCouponRespVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberCouponRespVO.java new file mode 100644 index 00000000..fdf8b899 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberCouponRespVO.java @@ -0,0 +1,15 @@ +package cn.iocoder.yudao.module.member.vo; + + +import cn.iocoder.yudao.module.member.entity.MemberCoupon; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 基础卡券 Response VO") +@Data +@ExcelIgnoreUnannotated +public class MemberCouponRespVO extends MemberCoupon { + + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberCouponSaveReqVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberCouponSaveReqVO.java new file mode 100644 index 00000000..51ac8bb4 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberCouponSaveReqVO.java @@ -0,0 +1,17 @@ +package cn.iocoder.yudao.module.member.vo; + + +import cn.iocoder.yudao.module.member.entity.MemberCoupon; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 基础卡券新增/修改 Request VO") +@Data +public class MemberCouponSaveReqVO extends MemberCoupon { + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberLevelPageReqVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberLevelPageReqVO.java new file mode 100644 index 00000000..d4e58a79 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberLevelPageReqVO.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.member.vo; + + +import cn.iocoder.yudao.module.member.entity.MemberLevel; +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 会员等级分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class MemberLevelPageReqVO extends MemberLevel { + + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberLevelRespVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberLevelRespVO.java new file mode 100644 index 00000000..2fe0679e --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberLevelRespVO.java @@ -0,0 +1,15 @@ +package cn.iocoder.yudao.module.member.vo; + + +import cn.iocoder.yudao.module.member.entity.MemberLevel; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 会员等级 Response VO") +@Data +@ExcelIgnoreUnannotated +public class MemberLevelRespVO extends MemberLevel { + + +} \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberLevelSaveReqVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberLevelSaveReqVO.java new file mode 100644 index 00000000..6c4d4c8b --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberLevelSaveReqVO.java @@ -0,0 +1,12 @@ +package cn.iocoder.yudao.module.member.vo; + + +import cn.iocoder.yudao.module.member.entity.MemberLevel; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 会员等级新增/修改 Request VO") +@Data +public class MemberLevelSaveReqVO extends MemberLevel { + +} \ No newline at end of file diff --git a/dl-module-base/src/main/resources/mapper/member/ActiveMainMapper.xml b/dl-module-base/src/main/resources/mapper/member/ActiveMainMapper.xml new file mode 100644 index 00000000..6b150b2d --- /dev/null +++ b/dl-module-base/src/main/resources/mapper/member/ActiveMainMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + \ No newline at end of file diff --git a/dl-module-base/src/main/resources/mapper/member/ActiveRuleCouponMapper.xml b/dl-module-base/src/main/resources/mapper/member/ActiveRuleCouponMapper.xml new file mode 100644 index 00000000..9e1d02e7 --- /dev/null +++ b/dl-module-base/src/main/resources/mapper/member/ActiveRuleCouponMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/dl-module-base/src/main/resources/mapper/member/ActiveRuleMapper.xml b/dl-module-base/src/main/resources/mapper/member/ActiveRuleMapper.xml new file mode 100644 index 00000000..994e9832 --- /dev/null +++ b/dl-module-base/src/main/resources/mapper/member/ActiveRuleMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/dl-module-base/src/main/resources/mapper/member/MemberCouponMapper.xml b/dl-module-base/src/main/resources/mapper/member/MemberCouponMapper.xml new file mode 100644 index 00000000..6bf03b0d --- /dev/null +++ b/dl-module-base/src/main/resources/mapper/member/MemberCouponMapper.xml @@ -0,0 +1,31 @@ + + + + + + + + \ No newline at end of file diff --git a/dl-module-base/src/main/resources/mapper/member/MemberLevelMapper.xml b/dl-module-base/src/main/resources/mapper/member/MemberLevelMapper.xml new file mode 100644 index 00000000..0f554052 --- /dev/null +++ b/dl-module-base/src/main/resources/mapper/member/MemberLevelMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + \ No newline at end of file diff --git a/dl-module-base/src/main/resources/mapper/supplier/BaseSupplierMapper.xml b/dl-module-base/src/main/resources/mapper/supplier/BaseSupplierMapper.xml index 91ef150e..8d3f008f 100644 --- a/dl-module-base/src/main/resources/mapper/supplier/BaseSupplierMapper.xml +++ b/dl-module-base/src/main/resources/mapper/supplier/BaseSupplierMapper.xml @@ -16,7 +16,7 @@ and dbs.name like concat('%', #{entity.name}, '%') - + and dbs.corp_id like concat('%', #{entity.corpId}, '%')