From 25c888df75984ffa204dd8c9ba23812cb48e8b77 Mon Sep 17 00:00:00 2001 From: Tpj <295983632@qq.com> Date: Wed, 11 Dec 2024 14:08:36 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B7=9F=E6=96=B0=E6=B5=B7=E4=B8=8A=E5=95=86?= =?UTF-8?q?=E5=9F=8Emall=E4=BC=9A=E5=91=98=E6=A8=A1=E5=9D=97=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=BA=86=E5=88=86=E9=94=80=E6=A8=A1=E5=9D=97=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E5=90=AF=E5=8A=A8=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UserConfigBalanceController.java | 63 +++++ .../userconfig/UserConfigBonusController.java | 61 +++++ .../userconfig/UserConfigCycleController.java | 60 +++++ .../userconfig/UserConfigDownController.java | 60 +++++ .../userconfig/UserConfigFreeController.java | 61 +++++ .../userconfig/UserConfigGradeController.java | 61 +++++ .../userconfig/UserConfigLevelController.java | 61 +++++ .../userconfig/UserConfigOnlyController.java | 63 +++++ .../userconfig/UserConfigPontsController.java | 74 ++++++ .../vo/UserConfigBalanceRespVO.java | 82 +++++++ .../userconfig/vo/UserConfigBonusRespVO.java | 65 ++++++ .../userconfig/vo/UserConfigCycleRespVO.java | 65 ++++++ .../userconfig/vo/UserConfigDownRespVO.java | 104 +++++++++ .../userconfig/vo/UserConfigFreeRespVO.java | 70 ++++++ .../userconfig/vo/UserConfigGradeRespVO.java | 79 +++++++ .../userconfig/vo/UserConfigLevelRespVO.java | 57 +++++ .../userconfig/vo/UserConfigOnlyRespVO.java | 26 +++ .../userconfig/vo/UserConfigPageReqVO.java | 162 ++++++++++++- .../userconfig/vo/UserConfigPontsRespVO.java | 62 +++++ .../admin/userconfig/vo/UserConfigRespVO.java | 216 ++++++++++++++++- .../userconfig/vo/UserConfigSaveReqVO.java | 165 ++++++++++++- .../dataobject/userconfig/UserConfigDO.java | 217 +++++++++++++++++- .../mysql/userconfig/UserConfigMapper.java | 53 ++++- .../service/userconfig/UserConfigService.java | 122 ++++++++++ .../userconfig/UserConfigServiceImpl.java | 126 ++++++++++ 25 files changed, 2197 insertions(+), 38 deletions(-) create mode 100644 yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigBalanceController.java create mode 100644 yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigBonusController.java create mode 100644 yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigCycleController.java create mode 100644 yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigDownController.java create mode 100644 yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigFreeController.java create mode 100644 yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigGradeController.java create mode 100644 yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigLevelController.java create mode 100644 yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigOnlyController.java create mode 100644 yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigPontsController.java create mode 100644 yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigBalanceRespVO.java create mode 100644 yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigBonusRespVO.java create mode 100644 yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigCycleRespVO.java create mode 100644 yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigDownRespVO.java create mode 100644 yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigFreeRespVO.java create mode 100644 yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigGradeRespVO.java create mode 100644 yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigLevelRespVO.java create mode 100644 yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigOnlyRespVO.java create mode 100644 yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigPontsRespVO.java diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigBalanceController.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigBalanceController.java new file mode 100644 index 000000000..9fb59f6c5 --- /dev/null +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigBalanceController.java @@ -0,0 +1,63 @@ +package cn.iocoder.yudao.module.hshy.controller.admin.userconfig; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.hshy.controller.admin.userconfig.vo.UserConfigBalanceRespVO; +import cn.iocoder.yudao.module.hshy.dal.dataobject.userconfig.UserConfigDO; +import cn.iocoder.yudao.module.hshy.service.userconfig.UserConfigService; +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("/hshy/user-config-Balance") +@Validated +public class UserConfigBalanceController { + @Resource + private UserConfigService userConfigService; + + @PostMapping("/create") + @Operation(summary = "创建会员消费返余额") + @PreAuthorize("@ss.hasPermission('hshy:user-config:create')") + public CommonResult creatBalance(@Valid @RequestBody UserConfigBalanceRespVO createReqVO) { + return success(userConfigService.creatBalance(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新会员消费返余额") + @PreAuthorize("@ss.hasPermission('hshy:user-config:update')") + public CommonResult updateBalance(@Valid @RequestBody UserConfigBalanceRespVO updateReqVO) { + userConfigService.updateBalance(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除会员消费返余额") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('hshy:user-config:delete')") + public CommonResult deleteUserConfig(@RequestParam("id") Integer id) { + userConfigService.deleteUserConfig(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得会员消费返余额") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('hshy:user-config:query')") + public CommonResult getUserConfig(@RequestParam("id") Integer id) { + UserConfigDO userConfig = userConfigService.getUserConfig(id); + return success(BeanUtils.toBean(userConfig, UserConfigBalanceRespVO.class)); + } + + + +} diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigBonusController.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigBonusController.java new file mode 100644 index 000000000..0baff3165 --- /dev/null +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigBonusController.java @@ -0,0 +1,61 @@ +package cn.iocoder.yudao.module.hshy.controller.admin.userconfig; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.hshy.controller.admin.userconfig.vo.UserConfigBonusRespVO; +import cn.iocoder.yudao.module.hshy.dal.dataobject.userconfig.UserConfigDO; +import cn.iocoder.yudao.module.hshy.service.userconfig.UserConfigService; +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("/hshy/user-config-Bonus") +@Validated +public class UserConfigBonusController { + @Resource + private UserConfigService userConfigService; + + @PostMapping("/create") + @Operation(summary = "创建会员充值奖励") + @PreAuthorize("@ss.hasPermission('hshy:user-config:create')") + public CommonResult creatBonus(@Valid @RequestBody UserConfigBonusRespVO createReqVO) { + return success(userConfigService.creatBonus(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新会员充值奖励") + @PreAuthorize("@ss.hasPermission('hshy:user-config:update')") + public CommonResult updateBonus(@Valid @RequestBody UserConfigBonusRespVO updateReqVO) { + userConfigService.updateBonus(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除会员充值奖励") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('hshy:user-config:delete')") + public CommonResult deleteUserConfig(@RequestParam("id") Integer id) { + userConfigService.deleteUserConfig(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得会员充值奖励") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('hshy:user-config:query')") + public CommonResult getUserConfig(@RequestParam("id") Integer id) { + UserConfigDO userConfig = userConfigService.getUserConfig(id); + return success(BeanUtils.toBean(userConfig, UserConfigBonusRespVO.class)); + } + +} diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigCycleController.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigCycleController.java new file mode 100644 index 000000000..a2044ac4b --- /dev/null +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigCycleController.java @@ -0,0 +1,60 @@ +package cn.iocoder.yudao.module.hshy.controller.admin.userconfig; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.hshy.controller.admin.userconfig.vo.UserConfigCycleRespVO; +import cn.iocoder.yudao.module.hshy.dal.dataobject.userconfig.UserConfigDO; +import cn.iocoder.yudao.module.hshy.service.userconfig.UserConfigService; +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("/hshy/user-config-Cycle") +@Validated +public class UserConfigCycleController { + @Resource + private UserConfigService userConfigService; + + @PostMapping("/create") + @Operation(summary = "创建会员周期奖励") + @PreAuthorize("@ss.hasPermission('hshy:user-config:create')") + public CommonResult creatCycle(@Valid @RequestBody UserConfigCycleRespVO createReqVO) { + return success(userConfigService.creatCycle(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新会员周期奖励") + @PreAuthorize("@ss.hasPermission('hshy:user-config:update')") + public CommonResult updateCycle(@Valid @RequestBody UserConfigCycleRespVO updateReqVO) { + userConfigService.updateCycle(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除会员周期奖励") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('hshy:user-config:delete')") + public CommonResult deleteUserConfig(@RequestParam("id") Integer id) { + userConfigService.deleteUserConfig(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得会员周期奖励") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('hshy:user-config:query')") + public CommonResult getUserConfig(@RequestParam("id") Integer id) { + UserConfigDO userConfig = userConfigService.getUserConfig(id); + return success(BeanUtils.toBean(userConfig, UserConfigCycleRespVO.class)); + } + +} diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigDownController.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigDownController.java new file mode 100644 index 000000000..f9104fdac --- /dev/null +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigDownController.java @@ -0,0 +1,60 @@ +package cn.iocoder.yudao.module.hshy.controller.admin.userconfig; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.hshy.controller.admin.userconfig.vo.UserConfigFreeRespVO; +import cn.iocoder.yudao.module.hshy.dal.dataobject.userconfig.UserConfigDO; +import cn.iocoder.yudao.module.hshy.service.userconfig.UserConfigService; +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("/hshy/user-config-Down") +@Validated +public class UserConfigDownController { + @Resource + private UserConfigService userConfigService; + + @PostMapping("/create") + @Operation(summary = "创建会员包邮") + @PreAuthorize("@ss.hasPermission('hshy:user-config:create')") + public CommonResult creatFree(@Valid @RequestBody UserConfigFreeRespVO createReqVO) { + return success(userConfigService.creatFree(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新会员包邮") + @PreAuthorize("@ss.hasPermission('hshy:user-config:update')") + public CommonResult updateFree(@Valid @RequestBody UserConfigFreeRespVO updateReqVO) { + userConfigService.updateFree(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除会员包邮") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('hshy:user-config:delete')") + public CommonResult deleteUserConfig(@RequestParam("id") Integer id) { + userConfigService.deleteUserConfig(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得会员包邮") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('hshy:user-config:query')") + public CommonResult getUserConfig(@RequestParam("id") Integer id) { + UserConfigDO userConfig = userConfigService.getUserConfig(id); + return success(BeanUtils.toBean(userConfig, UserConfigFreeRespVO.class)); + } +} diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigFreeController.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigFreeController.java new file mode 100644 index 000000000..00be6bf85 --- /dev/null +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigFreeController.java @@ -0,0 +1,61 @@ +package cn.iocoder.yudao.module.hshy.controller.admin.userconfig; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.hshy.controller.admin.userconfig.vo.UserConfigFreeRespVO; +import cn.iocoder.yudao.module.hshy.dal.dataobject.userconfig.UserConfigDO; +import cn.iocoder.yudao.module.hshy.service.userconfig.UserConfigService; +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("/hshy/user-config-Free") +@Validated +public class UserConfigFreeController { + @Resource + private UserConfigService userConfigService; + + @PostMapping("/create") + @Operation(summary = "创建会员包邮") + @PreAuthorize("@ss.hasPermission('hshy:user-config:create')") + public CommonResult creatFree(@Valid @RequestBody UserConfigFreeRespVO createReqVO) { + return success(userConfigService.creatFree(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新会员包邮") + @PreAuthorize("@ss.hasPermission('hshy:user-config:update')") + public CommonResult updateFree(@Valid @RequestBody UserConfigFreeRespVO updateReqVO) { + userConfigService.updateFree(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除会员包邮") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('hshy:user-config:delete')") + public CommonResult deleteUserConfig(@RequestParam("id") Integer id) { + userConfigService.deleteUserConfig(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得会员包邮") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('hshy:user-config:query')") + public CommonResult getUserConfig(@RequestParam("id") Integer id) { + UserConfigDO userConfig = userConfigService.getUserConfig(id); + return success(BeanUtils.toBean(userConfig, UserConfigFreeRespVO.class)); + } + +} diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigGradeController.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigGradeController.java new file mode 100644 index 000000000..a6d0c8aae --- /dev/null +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigGradeController.java @@ -0,0 +1,61 @@ +package cn.iocoder.yudao.module.hshy.controller.admin.userconfig; + + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.hshy.controller.admin.userconfig.vo.UserConfigGradeRespVO; +import cn.iocoder.yudao.module.hshy.dal.dataobject.userconfig.UserConfigDO; +import cn.iocoder.yudao.module.hshy.service.userconfig.UserConfigService; +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("/hshy/user-config-Grade") +@Validated +public class UserConfigGradeController { + @Resource + private UserConfigService userConfigService; + + @PostMapping("/create") + @Operation(summary = "创建会员升级") + @PreAuthorize("@ss.hasPermission('hshy:user-config:create')") + public CommonResult creatGrade(@Valid @RequestBody UserConfigGradeRespVO createReqVO) { + return success(userConfigService.creatGrade(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新会员升级") + @PreAuthorize("@ss.hasPermission('hshy:user-config:update')") + public CommonResult updateGrade(@Valid @RequestBody UserConfigGradeRespVO updateReqVO) { + userConfigService.updateGrade(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除会员升级") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('hshy:user-config:delete')") + public CommonResult deleteUserConfig(@RequestParam("id") Integer id) { + userConfigService.deleteUserConfig(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得会员升级") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('hshy:user-config:query')") + public CommonResult getUserConfig(@RequestParam("id") Integer id) { + UserConfigDO userConfig = userConfigService.getUserConfig(id); + return success(BeanUtils.toBean(userConfig, UserConfigGradeRespVO.class)); + } +} diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigLevelController.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigLevelController.java new file mode 100644 index 000000000..c0b6a5e56 --- /dev/null +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigLevelController.java @@ -0,0 +1,61 @@ +package cn.iocoder.yudao.module.hshy.controller.admin.userconfig; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.hshy.controller.admin.userconfig.vo.UserConfigOnlyRespVO; +import cn.iocoder.yudao.module.hshy.dal.dataobject.userconfig.UserConfigDO; +import cn.iocoder.yudao.module.hshy.service.userconfig.UserConfigService; +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("/hshy/user-config-Level") +@Validated +public class UserConfigLevelController { + @Resource + private UserConfigService userConfigService; + + @PostMapping("/create") + @Operation(summary = "创建会员专享客服") + @PreAuthorize("@ss.hasPermission('hshy:user-config:create')") + public CommonResult creatOnly(@Valid @RequestBody UserConfigOnlyRespVO createReqVO) { + return success(userConfigService.creatOnly(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新会员专享客服") + @PreAuthorize("@ss.hasPermission('hshy:user-config:update')") + public CommonResult updateOnly(@Valid @RequestBody UserConfigOnlyRespVO updateReqVO) { + userConfigService.updateOnly(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除会员专享客服") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('hshy:user-config:delete')") + public CommonResult deleteUserConfig(@RequestParam("id") Integer id) { + userConfigService.deleteUserConfig(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得会员专享客服") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('hshy:user-config:query')") + public CommonResult getUserConfig(@RequestParam("id") Integer id) { + UserConfigDO userConfig = userConfigService.getUserConfig(id); + return success(BeanUtils.toBean(userConfig, UserConfigOnlyRespVO.class)); + } + +} diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigOnlyController.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigOnlyController.java new file mode 100644 index 000000000..5b644b547 --- /dev/null +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigOnlyController.java @@ -0,0 +1,63 @@ +package cn.iocoder.yudao.module.hshy.controller.admin.userconfig; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.hshy.controller.admin.userconfig.vo.UserConfigOnlyRespVO; +import cn.iocoder.yudao.module.hshy.dal.dataobject.userconfig.UserConfigDO; +import cn.iocoder.yudao.module.hshy.service.userconfig.UserConfigService; +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("/hshy/user-config-Only") +@Validated +public class UserConfigOnlyController { + @Resource + private UserConfigService userConfigService; + + @PostMapping("/create") + @Operation(summary = "创建会员专享客服") + @PreAuthorize("@ss.hasPermission('hshy:user-config:create')") + public CommonResult creatOnly(@Valid @RequestBody UserConfigOnlyRespVO createReqVO) { + return success(userConfigService.creatOnly(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新会员专享客服") + @PreAuthorize("@ss.hasPermission('hshy:user-config:update')") + public CommonResult updateOnly(@Valid @RequestBody UserConfigOnlyRespVO updateReqVO) { + userConfigService.updateOnly(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除会员专享客服") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('hshy:user-config:delete')") + public CommonResult deleteUserConfig(@RequestParam("id") Integer id) { + userConfigService.deleteUserConfig(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得会员专享客服") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('hshy:user-config:query')") + public CommonResult getUserConfig(@RequestParam("id") Integer id) { + UserConfigDO userConfig = userConfigService.getUserConfig(id); + return success(BeanUtils.toBean(userConfig, UserConfigOnlyRespVO.class)); + } + + + +} diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigPontsController.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigPontsController.java new file mode 100644 index 000000000..ff653e857 --- /dev/null +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/UserConfigPontsController.java @@ -0,0 +1,74 @@ +package cn.iocoder.yudao.module.hshy.controller.admin.userconfig; + +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.hshy.controller.admin.userconfig.vo.UserConfigPageReqVO; +import cn.iocoder.yudao.module.hshy.controller.admin.userconfig.vo.UserConfigPontsRespVO; +import cn.iocoder.yudao.module.hshy.controller.admin.userconfig.vo.UserConfigRespVO; +import cn.iocoder.yudao.module.hshy.controller.admin.userconfig.vo.UserConfigSaveReqVO; +import cn.iocoder.yudao.module.hshy.dal.dataobject.userconfig.UserConfigDO; +import cn.iocoder.yudao.module.hshy.service.userconfig.UserConfigService; +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("/hshy/user-config-Ponts") +@Validated +public class UserConfigPontsController { + @Resource + private UserConfigService userConfigService; + + @PostMapping("/create") + @Operation(summary = "创建会员消费返积分") + @PreAuthorize("@ss.hasPermission('hshy:user-config:create')") + public CommonResult creatPonts(@Valid @RequestBody UserConfigPontsRespVO createReqVO) { + return success(userConfigService.creatPonts(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新会员消费返积分") + @PreAuthorize("@ss.hasPermission('hshy:user-config:update')") + public CommonResult updatePonts(@Valid @RequestBody UserConfigPontsRespVO updateReqVO) { + userConfigService.updatePonts(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除会员消费返积分") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('hshy:user-config:delete')") + public CommonResult deleteUserConfig(@RequestParam("id") Integer id) { + userConfigService.deleteUserConfig(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得会员消费返积分") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('hshy:user-config:query')") + public CommonResult getUserConfig(@RequestParam("id") Integer id) { + UserConfigDO userConfig = userConfigService.getUserConfig(id); + return success(BeanUtils.toBean(userConfig, UserConfigPontsRespVO.class)); + } + + + +} diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigBalanceRespVO.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigBalanceRespVO.java new file mode 100644 index 000000000..b027daad5 --- /dev/null +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigBalanceRespVO.java @@ -0,0 +1,82 @@ +package cn.iocoder.yudao.module.hshy.controller.admin.userconfig.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 会员余额 Response VO") +@Data +@ExcelIgnoreUnannotated +public class UserConfigBalanceRespVO { + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13162") + @ExcelProperty("编号") + private Integer id; + + @Schema(description = "会员等级编号", example = "9045") + private Long levelId; + + @Schema(description = "业务类型", example = "1") + @ExcelProperty("业务类型") + private String bizType; + + @Schema(description = "业务规格", example = "1") + @ExcelProperty("业务规格") + private String proType; + + @Schema(description = "返余额比例") + @ExcelProperty("返余额比例") + private BigDecimal yBalanceRatio; + + @Schema(description = "消费余额") + @ExcelProperty("消费余额") + private Boolean yIsBalance; + + @Schema(description = "可提现余额") + @ExcelProperty("可提现余额") + private Boolean yIsFundsBalance; + + @Schema(description = "订单支付成功后") + @ExcelProperty("订单支付成功后") + private Boolean isOrderSuccessful; + + @Schema(description = "订单发货后") + @ExcelProperty("订单发货后") + private Boolean isOrderShipped; + + @Schema(description = "订单发货并已过维权期") + @ExcelProperty("订单发货并已过维权期") + private Boolean isOrderLaw; + + @Schema(description = "全部商品") + @ExcelProperty("全部商品") + private Boolean isFull; + + @Schema(description = "部分商品") + @ExcelProperty("部分商品") + private Boolean isPortion; + + @Schema(description = "部分不参与商品") + @ExcelProperty("部分不参与商品") + private Boolean isNoPortion; + + @Schema(description = "门店参与") + @ExcelProperty("门店参与") + private Boolean isStore; + + @Schema(description = "门店不参与") + @ExcelProperty("门店不参与") + private Boolean isNoStore; + + @Schema(description = "商品spuid", example = "15740") + @ExcelProperty("商品spuid") + private Long spuId; + + @Schema(description = "商品skuid", example = "17464") + @ExcelProperty("商品skuid") + private Long skuId; + +} diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigBonusRespVO.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigBonusRespVO.java new file mode 100644 index 000000000..8e834ba3d --- /dev/null +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigBonusRespVO.java @@ -0,0 +1,65 @@ +package cn.iocoder.yudao.module.hshy.controller.admin.userconfig.vo; + + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +@Schema(description = "管理后台 - 会员充值 Response VO") +@Data +@ExcelIgnoreUnannotated +public class UserConfigBonusRespVO { + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13162") + @ExcelProperty("编号") + private Integer id; + + @Schema(description = "会员等级编号", example = "9045") + private Long levelId; + + @Schema(description = "业务类型", example = "1") + @ExcelProperty("业务类型") + private String bizType; + + @Schema(description = "业务规格", example = "1") + @ExcelProperty("业务规格") + private String proType; + + @Schema(description = "是否满充值奖励") + private Boolean cIsRechargeBonus; + + @Schema(description = "满充值奖励(元)") + @ExcelProperty("满充值奖励(元)") + private BigDecimal cRechargeBonus; + + @Schema(description = "积分") + @ExcelProperty("积分") + private Boolean isPoints; + + @Schema(description = "积分") + @ExcelProperty("积分") + private Integer points; + + @Schema(description = "余额") + @ExcelProperty("余额") + private Boolean isBalance; + + @Schema(description = "余额") + @ExcelProperty("余额") + private Integer balance; + + @Schema(description = "余额类型", example = "1") + @ExcelProperty("余额类型") + private String balanceType; + + @Schema(description = "优惠券") + @ExcelProperty("优惠券") + private Boolean isCoupon; + + @Schema(description = "优惠券集合") + @ExcelProperty("优惠券集合") + private String couponJson; + +} diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigCycleRespVO.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigCycleRespVO.java new file mode 100644 index 000000000..f69e3c3f0 --- /dev/null +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigCycleRespVO.java @@ -0,0 +1,65 @@ +package cn.iocoder.yudao.module.hshy.controller.admin.userconfig.vo; + + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 会员充值 Response VO") +@Data +@ExcelIgnoreUnannotated +public class UserConfigCycleRespVO { + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13162") + @ExcelProperty("编号") + private Integer id; + + @Schema(description = "会员等级编号", example = "9045") + private Long levelId; + + @Schema(description = "周期奖励") + @ExcelProperty("周期奖励") + private Integer zCycle; + + @Schema(description = "积分") + @ExcelProperty("积分") + private Boolean isPoints; + + @Schema(description = "积分") + @ExcelProperty("积分") + private Integer points; + + @Schema(description = "余额") + @ExcelProperty("余额") + private Boolean isBalance; + + @Schema(description = "余额") + @ExcelProperty("余额") + private Integer balance; + + @Schema(description = "礼品卡") + @ExcelProperty("礼品卡") + private Boolean isCard; + + @Schema(description = "礼品卡集合") + @ExcelProperty("礼品卡集合") + private String cardJson; + + @Schema(description = "商品") + @ExcelProperty("商品") + private Boolean isPro; + + @Schema(description = "商品spuid", example = "15740") + @ExcelProperty("商品spuid") + private Long spuId; + + @Schema(description = "商品skuid", example = "17464") + @ExcelProperty("商品skuid") + private Long skuId; + + + +} diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigDownRespVO.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigDownRespVO.java new file mode 100644 index 000000000..a6dd2f7e6 --- /dev/null +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigDownRespVO.java @@ -0,0 +1,104 @@ +package cn.iocoder.yudao.module.hshy.controller.admin.userconfig.vo; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +@Schema(description = "管理后台 - 会员充值 Response VO") +@Data +@ExcelIgnoreUnannotated +public class UserConfigDownRespVO { + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13162") + @ExcelProperty("编号") + private Integer id; + + @Schema(description = "会员等级编号", example = "9045") + private Long levelId; + + @Schema(description = "业务类型", example = "1") + @ExcelProperty("业务类型") + private String bizType; + + @Schema(description = "业务规格", example = "1") + @ExcelProperty("业务规格") + private String proType; + + + @Schema(description = "是否开启降级策略") + @ExcelProperty("是否开启降级策略") + private Boolean dIsStrategy; + + @Schema(description = "策略类型", example = "1") + @ExcelProperty("策略类型") + private String dStrategyType; + + @Schema(description = "降级时间") + @ExcelProperty("降级时间") + private LocalDateTime dStrategyTime; + + @Schema(description = "等级保护期", example = "15123") + @ExcelProperty("等级保护期") + private Integer dStrategyCount; + + @Schema(description = "满足以下任意条件") + @ExcelProperty("满足以下任意条件") + private Boolean dIsAnyCondition; + + @Schema(description = "满足以下任意条件天数", example = "14555") + @ExcelProperty("满足以下任意条件天数") + private Integer dAnyConditionCount; + + @Schema(description = "单笔消费") + @ExcelProperty("单笔消费") + private Boolean dIsSingle; + + @Schema(description = "消费") + @ExcelProperty("消费") + private Integer dSingle; + + @Schema(description = "累积消费") + @ExcelProperty("累积消费") + private Boolean dIsAddSingle; + + @Schema(description = "消费") + @ExcelProperty("消费") + private Integer dAddSingle; + + @Schema(description = "单笔充值") + @ExcelProperty("单笔充值") + private Boolean dIsRecharge; + + @Schema(description = "充值") + @ExcelProperty("充值") + private Integer dRecharge; + + @Schema(description = "累积充值") + @ExcelProperty("累积充值") + private Boolean dIsAddRecharge; + + @Schema(description = "充值") + @ExcelProperty("充值") + private Integer dAddRecharge; + + @Schema(description = "指定商品") + @ExcelProperty("指定商品") + private Boolean dIsPro; + + @Schema(description = "商品spuid", example = "15740") + @ExcelProperty("商品spuid") + private Long spuId; + + @Schema(description = "商品skuid", example = "17464") + @ExcelProperty("商品skuid") + private Long skuId; + + @Schema(description = "降级类型", example = "1") + @ExcelProperty("降级类型") + private Boolean dType; + + @Schema(description = "指定等级") + @ExcelProperty("指定等级") + private String dTypeLevel; +} diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigFreeRespVO.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigFreeRespVO.java new file mode 100644 index 000000000..e5d125566 --- /dev/null +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigFreeRespVO.java @@ -0,0 +1,70 @@ +package cn.iocoder.yudao.module.hshy.controller.admin.userconfig.vo; + + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +@Schema(description = "管理后台 - 会员包邮 Response VO") +@Data +@ExcelIgnoreUnannotated +public class UserConfigFreeRespVO { + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13162") + @ExcelProperty("编号") + private Integer id; + + @Schema(description = "会员等级编号", example = "9045") + private Long levelId; + + @Schema(description = "业务类型", example = "1") + @ExcelProperty("业务类型") + private String bizType; + + @Schema(description = "业务规格", example = "1") + @ExcelProperty("业务规格") + private String proType; + + + @Schema(description = "无门槛包邮") + @ExcelProperty("无门槛包邮") + private Boolean bIsFreeShipping; + + @Schema(description = "有门槛包邮") + @ExcelProperty("有门槛包邮") + private Boolean bIsNoFreeShipping; + + @Schema(description = "有门槛包邮(元)") + @ExcelProperty("有门槛包邮(元)") + private Integer bNoFreeShipping; + + @Schema(description = "全部商品") + @ExcelProperty("全部商品") + private Boolean isFull; + + @Schema(description = "部分商品") + @ExcelProperty("部分商品") + private Boolean isPortion; + + @Schema(description = "部分不参与商品") + @ExcelProperty("部分不参与商品") + private Boolean isNoPortion; + + @Schema(description = "门店参与") + @ExcelProperty("门店参与") + private Boolean isStore; + + @Schema(description = "门店不参与") + @ExcelProperty("门店不参与") + private Boolean isNoStore; + + @Schema(description = "商品spuid", example = "15740") + @ExcelProperty("商品spuid") + private Long spuId; + + @Schema(description = "商品skuid", example = "17464") + @ExcelProperty("商品skuid") + private Long skuId; +} diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigGradeRespVO.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigGradeRespVO.java new file mode 100644 index 000000000..55dc8ea97 --- /dev/null +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigGradeRespVO.java @@ -0,0 +1,79 @@ +package cn.iocoder.yudao.module.hshy.controller.admin.userconfig.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + + +@Schema(description = "管理后台 - 会员条件配置 Response VO") +@Data +@ExcelIgnoreUnannotated +public class UserConfigGradeRespVO { + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13162") + @ExcelProperty("编号") + private Integer id; + + @Schema(description = "会员等级编号", example = "9045") + private Long levelId; + + @Schema(description = "业务类型", example = "1") + @ExcelProperty("业务类型") + private String bizType; + + @Schema(description = "业务规格", example = "1") + @ExcelProperty("业务规格") + private String proType; + + @Schema(description = "满足以下任意条件") + @ExcelProperty("满足以下任意条件") + private Boolean gAnyCondition; + + @Schema(description = "满足以下全部条件") + @ExcelProperty("满足以下全部条件") + private Boolean gAllCondition; + + @Schema(description = "商品spuid", example = "15740") + @ExcelProperty("商品spuid") + private Long spuId; + + @Schema(description = "商品skuid", example = "17464") + @ExcelProperty("商品skuid") + private Long skuId; + + @Schema(description = "商品") + @ExcelProperty("商品") + private Boolean isPro; + + @Schema(description = "单笔消费") + @ExcelProperty("单笔消费") + private Boolean dIsSingle; + + @Schema(description = "消费") + @ExcelProperty("消费") + private Integer dSingle; + + @Schema(description = "累积消费") + @ExcelProperty("累积消费") + private Boolean dIsAddSingle; + + @Schema(description = "消费") + @ExcelProperty("消费") + private Integer dAddSingle; + + @Schema(description = "单笔充值") + @ExcelProperty("单笔充值") + private Boolean dIsRecharge; + + @Schema(description = "充值") + @ExcelProperty("充值") + private Integer dRecharge; + + @Schema(description = "累积充值") + @ExcelProperty("累积充值") + private Boolean dIsAddRecharge; + + @Schema(description = "充值") + @ExcelProperty("充值") + private Integer dAddRecharge; +} diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigLevelRespVO.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigLevelRespVO.java new file mode 100644 index 000000000..9aedbb063 --- /dev/null +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigLevelRespVO.java @@ -0,0 +1,57 @@ +package cn.iocoder.yudao.module.hshy.controller.admin.userconfig.vo; + + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 会员充值 Response VO") +@Data +@ExcelIgnoreUnannotated +public class UserConfigLevelRespVO { + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13162") + @ExcelProperty("编号") + private Integer id; + + @Schema(description = "会员等级编号", example = "9045") + private Long levelId; + + + @Schema(description = "积分") + @ExcelProperty("积分") + private Boolean isPoints; + + @Schema(description = "积分") + @ExcelProperty("积分") + private Integer points; + + @Schema(description = "余额") + @ExcelProperty("余额") + private Boolean isBalance; + + @Schema(description = "余额") + @ExcelProperty("余额") + private Integer balance; + + @Schema(description = "礼品卡") + @ExcelProperty("礼品卡") + private Boolean isCard; + + @Schema(description = "礼品卡集合") + @ExcelProperty("礼品卡集合") + private String cardJson; + + @Schema(description = "商品") + @ExcelProperty("商品") + private Boolean isPro; + + @Schema(description = "商品spuid", example = "15740") + @ExcelProperty("商品spuid") + private Long spuId; + + @Schema(description = "商品skuid", example = "17464") + @ExcelProperty("商品skuid") + private Long skuId; + +} diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigOnlyRespVO.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigOnlyRespVO.java new file mode 100644 index 000000000..43203e0c8 --- /dev/null +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigOnlyRespVO.java @@ -0,0 +1,26 @@ +package cn.iocoder.yudao.module.hshy.controller.admin.userconfig.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 会员充值 Response VO") +@Data +@ExcelIgnoreUnannotated +public class UserConfigOnlyRespVO { + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13162") + @ExcelProperty("编号") + private Integer id; + + @Schema(description = "会员等级编号", example = "9045") + private Long levelId; + + @Schema(description = "业务类型", example = "1") + @ExcelProperty("业务类型") + private String bizType; + + @Schema(description = "业务规格", example = "1") + @ExcelProperty("业务规格") + private String proType; +} diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigPageReqVO.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigPageReqVO.java index 7304f701b..60714c70e 100644 --- a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigPageReqVO.java +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigPageReqVO.java @@ -4,6 +4,7 @@ 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; @@ -15,20 +16,165 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ @ToString(callSuper = true) public class UserConfigPageReqVO extends PageParam { - @Schema(description = "会员编码", example = "6413") + @Schema(description = "会员编码", example = "9045") private Long memberUserId; - @Schema(description = "业务类型", example = "2") + @Schema(description = "会员等级编号", example = "9045") + private Long levelId; + + @Schema(description = "业务类型", example = "1") private String bizType; - @Schema(description = "前置条件") - private String beforeJson; + @Schema(description = "业务规格", example = "1") + private String proType; - @Schema(description = "后置条件") - private String afterJson; + @Schema(description = "满足以下任意条件") + private Boolean gAnyCondition; - @Schema(description = "业务值") - private String bizValue; + @Schema(description = "满足以下全部条件") + private Boolean gAllCondition; + + @Schema(description = "是否开启降级策略") + private Boolean dIsStrategy; + + @Schema(description = "策略类型", example = "1") + private String dStrategyType; + + @Schema(description = "降级时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] dStrategyTime; + + @Schema(description = "等级保护期", example = "15123") + private Integer dStrategyCount; + + @Schema(description = "满足以下任意条件") + private Boolean dIsAnyCondition; + + @Schema(description = "满足以下任意条件天数", example = "14555") + private Integer dAnyConditionCount; + + @Schema(description = "单笔消费") + private Boolean dIsSingle; + + @Schema(description = "消费") + private Integer dSingle; + + @Schema(description = "累积消费") + private Boolean dIsAddSingle; + + @Schema(description = "消费") + private Integer dAddSingle; + + @Schema(description = "单笔充值") + private Boolean dIsRecharge; + + @Schema(description = "充值") + private Integer dRecharge; + + @Schema(description = "累积充值") + private Boolean dIsAddRecharge; + + @Schema(description = "充值") + private Integer dAddRecharge; + + @Schema(description = "指定商品") + private Boolean dIsPro; + + @Schema(description = "降级类型", example = "1") + private Boolean dType; + + @Schema(description = "指定等级") + private String dTypeLevel; + + @Schema(description = "商品折扣", example = "30326") + private BigDecimal pDiscount; + + @Schema(description = "返积分比例") + private BigDecimal jPointsRatio; + + @Schema(description = "返余额比例") + private BigDecimal yBalanceRatio; + + @Schema(description = "消费余额") + private Boolean yIsBalance; + + @Schema(description = "可提现余额") + private Boolean yIsFundsBalance; + + @Schema(description = "订单支付成功后") + private Boolean isOrderSuccessful; + + @Schema(description = "订单发货后") + private Boolean isOrderShipped; + + @Schema(description = "订单发货并已过维权期") + private Boolean isOrderLaw; + + @Schema(description = "满充值奖励(元)") + private BigDecimal cRechargeBonus; + + @Schema(description = "积分") + private Boolean isPoints; + + @Schema(description = "积分") + private Integer points; + + @Schema(description = "余额") + private Boolean isBalance; + + @Schema(description = "余额") + private Integer balance; + + @Schema(description = "余额类型", example = "1") + private String balanceType; + + @Schema(description = "优惠券") + private Boolean isCoupon; + + @Schema(description = "优惠券集合") + private String couponJson; + + @Schema(description = "无门槛包邮") + private Boolean bIsFreeShipping; + + @Schema(description = "有门槛包邮") + private Boolean bIsNoFreeShipping; + + @Schema(description = "有门槛包邮(元)") + private Integer bNoFreeShipping; + + @Schema(description = "周期奖励") + private Integer zCycle; + + @Schema(description = "礼品卡") + private Boolean isCard; + + @Schema(description = "礼品卡集合") + private String cardJson; + + @Schema(description = "全部商品") + private Boolean isFull; + + @Schema(description = "部分商品") + private Boolean isPortion; + + @Schema(description = "部分不参与商品") + private Boolean isNoPortion; + + @Schema(description = "门店参与") + private Boolean isStore; + + @Schema(description = "门店不参与") + private Boolean isNoStore; + + @Schema(description = "商品spuid", example = "15740") + private Long spuId; + + @Schema(description = "商品skuid", example = "17464") + private Long skuId; + + @Schema(description = "商品") + private Boolean isPro; @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigPontsRespVO.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigPontsRespVO.java new file mode 100644 index 000000000..a411022a4 --- /dev/null +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigPontsRespVO.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.hshy.controller.admin.userconfig.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 会员消费积分 Response VO") +@Data +@ExcelIgnoreUnannotated +public class UserConfigPontsRespVO { + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13162") + @ExcelProperty("编号") + private Integer id; + + @Schema(description = "会员等级编号", example = "9045") + private Long levelId; + + @Schema(description = "业务类型", example = "1") + @ExcelProperty("业务类型") + private String bizType; + + @Schema(description = "业务规格", example = "1") + @ExcelProperty("业务规格") + private String proType; + + @Schema(description = "返积分比例") + @ExcelProperty("返积分比例") + private BigDecimal jPointsRatio; + + @Schema(description = "全部商品") + @ExcelProperty("全部商品") + private Boolean isFull; + + @Schema(description = "部分商品") + @ExcelProperty("部分商品") + private Boolean isPortion; + + @Schema(description = "部分不参与商品") + @ExcelProperty("部分不参与商品") + private Boolean isNoPortion; + + @Schema(description = "门店参与") + @ExcelProperty("门店参与") + private Boolean isStore; + + @Schema(description = "门店不参与") + @ExcelProperty("门店不参与") + private Boolean isNoStore; + + @Schema(description = "商品spuid", example = "15740") + @ExcelProperty("商品spuid") + private Long spuId; + + @Schema(description = "商品skuid", example = "17464") + @ExcelProperty("商品skuid") + private Long skuId; + +} diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigRespVO.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigRespVO.java index 3dc2cda6c..028deb6f7 100644 --- a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigRespVO.java +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigRespVO.java @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.hshy.controller.admin.userconfig.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.*; @@ -12,29 +13,220 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class UserConfigRespVO { - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "28791") + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13162") @ExcelProperty("编号") private Integer id; - @Schema(description = "会员编码", example = "6413") + @Schema(description = "会员等级编号", example = "9045") + private Long levelId; + + @Schema(description = "会员编码", example = "9045") @ExcelProperty("会员编码") private Long memberUserId; - @Schema(description = "业务类型", example = "2") + @Schema(description = "业务类型", example = "1") @ExcelProperty("业务类型") private String bizType; - @Schema(description = "前置条件") - @ExcelProperty("前置条件") - private String beforeJson; + @Schema(description = "业务规格", example = "1") + @ExcelProperty("业务规格") + private String proType; - @Schema(description = "后置条件") - @ExcelProperty("后置条件") - private String afterJson; + @Schema(description = "满足以下任意条件") + @ExcelProperty("满足以下任意条件") + private Boolean gAnyCondition; - @Schema(description = "业务值") - @ExcelProperty("业务值") - private String bizValue; + @Schema(description = "满足以下全部条件") + @ExcelProperty("满足以下全部条件") + private Boolean gAllCondition; + + @Schema(description = "是否开启降级策略") + @ExcelProperty("是否开启降级策略") + private Boolean dIsStrategy; + + @Schema(description = "策略类型", example = "1") + @ExcelProperty("策略类型") + private String dStrategyType; + + @Schema(description = "降级时间") + @ExcelProperty("降级时间") + private LocalDateTime dStrategyTime; + + @Schema(description = "等级保护期", example = "15123") + @ExcelProperty("等级保护期") + private Integer dStrategyCount; + + @Schema(description = "满足以下任意条件") + @ExcelProperty("满足以下任意条件") + private Boolean dIsAnyCondition; + + @Schema(description = "满足以下任意条件天数", example = "14555") + @ExcelProperty("满足以下任意条件天数") + private Integer dAnyConditionCount; + + @Schema(description = "单笔消费") + @ExcelProperty("单笔消费") + private Boolean dIsSingle; + + @Schema(description = "消费") + @ExcelProperty("消费") + private Integer dSingle; + + @Schema(description = "累积消费") + @ExcelProperty("累积消费") + private Boolean dIsAddSingle; + + @Schema(description = "消费") + @ExcelProperty("消费") + private Integer dAddSingle; + + @Schema(description = "单笔充值") + @ExcelProperty("单笔充值") + private Boolean dIsRecharge; + + @Schema(description = "充值") + @ExcelProperty("充值") + private Integer dRecharge; + + @Schema(description = "累积充值") + @ExcelProperty("累积充值") + private Boolean dIsAddRecharge; + + @Schema(description = "充值") + @ExcelProperty("充值") + private Integer dAddRecharge; + + @Schema(description = "指定商品") + @ExcelProperty("指定商品") + private Boolean dIsPro; + + @Schema(description = "降级类型", example = "1") + @ExcelProperty("降级类型") + private Boolean dType; + + @Schema(description = "指定等级") + @ExcelProperty("指定等级") + private String dTypeLevel; + + @Schema(description = "商品折扣", example = "30326") + @ExcelProperty("商品折扣") + private BigDecimal pDiscount; + + @Schema(description = "返积分比例") + @ExcelProperty("返积分比例") + private BigDecimal jPointsRatio; + + @Schema(description = "返余额比例") + @ExcelProperty("返余额比例") + private BigDecimal yBalanceRatio; + + @Schema(description = "消费余额") + @ExcelProperty("消费余额") + private Boolean yIsBalance; + + @Schema(description = "可提现余额") + @ExcelProperty("可提现余额") + private Boolean yIsFundsBalance; + + @Schema(description = "订单支付成功后") + @ExcelProperty("订单支付成功后") + private Boolean isOrderSuccessful; + + @Schema(description = "订单发货后") + @ExcelProperty("订单发货后") + private Boolean isOrderShipped; + + @Schema(description = "订单发货并已过维权期") + @ExcelProperty("订单发货并已过维权期") + private Boolean isOrderLaw; + + @Schema(description = "满充值奖励(元)") + @ExcelProperty("满充值奖励(元)") + private BigDecimal cRechargeBonus; + + @Schema(description = "积分") + @ExcelProperty("积分") + private Boolean isPoints; + + @Schema(description = "积分") + @ExcelProperty("积分") + private Integer points; + + @Schema(description = "余额") + @ExcelProperty("余额") + private Boolean isBalance; + + @Schema(description = "余额") + @ExcelProperty("余额") + private Integer balance; + + @Schema(description = "余额类型", example = "1") + @ExcelProperty("余额类型") + private String balanceType; + + @Schema(description = "优惠券") + @ExcelProperty("优惠券") + private Boolean isCoupon; + + @Schema(description = "优惠券集合") + @ExcelProperty("优惠券集合") + private String couponJson; + + @Schema(description = "无门槛包邮") + @ExcelProperty("无门槛包邮") + private Boolean bIsFreeShipping; + + @Schema(description = "有门槛包邮") + @ExcelProperty("有门槛包邮") + private Boolean bIsNoFreeShipping; + + @Schema(description = "有门槛包邮(元)") + @ExcelProperty("有门槛包邮(元)") + private Integer bNoFreeShipping; + + @Schema(description = "周期奖励") + @ExcelProperty("周期奖励") + private Integer zCycle; + + @Schema(description = "礼品卡") + @ExcelProperty("礼品卡") + private Boolean isCard; + + @Schema(description = "礼品卡集合") + @ExcelProperty("礼品卡集合") + private String cardJson; + + @Schema(description = "全部商品") + @ExcelProperty("全部商品") + private Boolean isFull; + + @Schema(description = "部分商品") + @ExcelProperty("部分商品") + private Boolean isPortion; + + @Schema(description = "部分不参与商品") + @ExcelProperty("部分不参与商品") + private Boolean isNoPortion; + + @Schema(description = "门店参与") + @ExcelProperty("门店参与") + private Boolean isStore; + + @Schema(description = "门店不参与") + @ExcelProperty("门店不参与") + private Boolean isNoStore; + + @Schema(description = "商品spuid", example = "15740") + @ExcelProperty("商品spuid") + private Long spuId; + + @Schema(description = "商品skuid", example = "17464") + @ExcelProperty("商品skuid") + private Long skuId; + + @Schema(description = "商品") + @ExcelProperty("商品") + private Boolean isPro; @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("创建时间") diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigSaveReqVO.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigSaveReqVO.java index 24b858843..82624d381 100644 --- a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigSaveReqVO.java +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/controller/admin/userconfig/vo/UserConfigSaveReqVO.java @@ -3,27 +3,174 @@ package cn.iocoder.yudao.module.hshy.controller.admin.userconfig.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; @Schema(description = "管理后台 - 会员条件配置新增/修改 Request VO") @Data public class UserConfigSaveReqVO { - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "28791") + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13162") private Integer id; - @Schema(description = "会员编码", example = "6413") + @Schema(description = "会员等级编号", example = "9045") + private Long levelId; + + @Schema(description = "会员编码", example = "9045") private Long memberUserId; - @Schema(description = "业务类型", example = "2") + @Schema(description = "业务类型", example = "1") private String bizType; - @Schema(description = "前置条件") - private String beforeJson; + @Schema(description = "业务规格", example = "1") + private String proType; - @Schema(description = "后置条件") - private String afterJson; + @Schema(description = "满足以下任意条件") + private Boolean gAnyCondition; - @Schema(description = "业务值") - private String bizValue; + @Schema(description = "满足以下全部条件") + private Boolean gAllCondition; + + @Schema(description = "是否开启降级策略") + private Boolean dIsStrategy; + + @Schema(description = "策略类型", example = "1") + private String dStrategyType; + + @Schema(description = "降级时间") + private LocalDateTime dStrategyTime; + + @Schema(description = "等级保护期", example = "15123") + private Integer dStrategyCount; + + @Schema(description = "满足以下任意条件") + private Boolean dIsAnyCondition; + + @Schema(description = "满足以下任意条件天数", example = "14555") + private Integer dAnyConditionCount; + + @Schema(description = "单笔消费") + private Boolean dIsSingle; + + @Schema(description = "消费") + private Integer dSingle; + + @Schema(description = "累积消费") + private Boolean dIsAddSingle; + + @Schema(description = "消费") + private Integer dAddSingle; + + @Schema(description = "单笔充值") + private Boolean dIsRecharge; + + @Schema(description = "充值") + private Integer dRecharge; + + @Schema(description = "累积充值") + private Boolean dIsAddRecharge; + + @Schema(description = "充值") + private Integer dAddRecharge; + + @Schema(description = "指定商品") + private Boolean dIsPro; + + @Schema(description = "降级类型", example = "1") + private Boolean dType; + + @Schema(description = "指定等级") + private String dTypeLevel; + + @Schema(description = "商品折扣", example = "30326") + private BigDecimal pDiscount; + + @Schema(description = "返积分比例") + private BigDecimal jPointsRatio; + + @Schema(description = "返余额比例") + private BigDecimal yBalanceRatio; + + @Schema(description = "消费余额") + private Boolean yIsBalance; + + @Schema(description = "可提现余额") + private Boolean yIsFundsBalance; + + @Schema(description = "订单支付成功后") + private Boolean isOrderSuccessful; + + @Schema(description = "订单发货后") + private Boolean isOrderShipped; + + @Schema(description = "订单发货并已过维权期") + private Boolean isOrderLaw; + + @Schema(description = "满充值奖励(元)") + private BigDecimal cRechargeBonus; + + @Schema(description = "积分") + private Boolean isPoints; + + @Schema(description = "积分") + private Integer points; + + @Schema(description = "余额") + private Boolean isBalance; + + @Schema(description = "余额") + private Integer balance; + + @Schema(description = "余额类型", example = "1") + private String balanceType; + + @Schema(description = "优惠券") + private Boolean isCoupon; + + @Schema(description = "优惠券集合") + private String couponJson; + + @Schema(description = "无门槛包邮") + private Boolean bIsFreeShipping; + + @Schema(description = "有门槛包邮") + private Boolean bIsNoFreeShipping; + + @Schema(description = "有门槛包邮(元)") + private Integer bNoFreeShipping; + + @Schema(description = "周期奖励") + private Integer zCycle; + + @Schema(description = "礼品卡") + private Boolean isCard; + + @Schema(description = "礼品卡集合") + private String cardJson; + + @Schema(description = "全部商品") + private Boolean isFull; + + @Schema(description = "部分商品") + private Boolean isPortion; + + @Schema(description = "部分不参与商品") + private Boolean isNoPortion; + + @Schema(description = "门店参与") + private Boolean isStore; + + @Schema(description = "门店不参与") + private Boolean isNoStore; + + @Schema(description = "商品spuid", example = "15740") + private Long spuId; + + @Schema(description = "商品skuid", example = "17464") + private Long skuId; + + @Schema(description = "商品") + private Boolean isPro; } \ No newline at end of file diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/dal/dataobject/userconfig/UserConfigDO.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/dal/dataobject/userconfig/UserConfigDO.java index 0724dba29..fbb7c66a1 100644 --- a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/dal/dataobject/userconfig/UserConfigDO.java +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/dal/dataobject/userconfig/UserConfigDO.java @@ -3,6 +3,11 @@ package cn.iocoder.yudao.module.hshy.dal.dataobject.userconfig; import lombok.*; import java.util.*; import java.time.LocalDateTime; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +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; @@ -27,6 +32,12 @@ public class UserConfigDO extends BaseDO { */ @TableId private Integer id; + + /** + * 会员等级编号 + */ + private Long levelId; + /** * 会员编码 */ @@ -36,16 +47,210 @@ public class UserConfigDO extends BaseDO { */ private String bizType; /** - * 前置条件 + * 业务规格 */ - private String beforeJson; + private String proType; /** - * 后置条件 + * 满足以下任意条件 */ - private String afterJson; + private Boolean gAnyCondition; /** - * 业务值 + * 满足以下全部条件 */ - private String bizValue; + private Boolean gAllCondition; + /** + * 是否开启降级策略 + */ + private Boolean dIsStrategy; + /** + * 策略类型 + */ + private String dStrategyType; + /** + * 降级时间 + */ + private LocalDateTime dStrategyTime; + /** + * 等级保护期 + */ + private Integer dStrategyCount; + /** + * 满足以下任意条件 + */ + private Boolean dIsAnyCondition; + /** + * 满足以下任意条件天数 + */ + private Integer dAnyConditionCount; + /** + * 单笔消费 + */ + private Boolean dIsSingle; + /** + * 消费 + */ + private Integer dSingle; + /** + * 累积消费 + */ + private Boolean dIsAddSingle; + /** + * 消费 + */ + private Integer dAddSingle; + /** + * 单笔充值 + */ + private Boolean dIsRecharge; + /** + * 充值 + */ + private Integer dRecharge; + /** + * 累积充值 + */ + private Boolean dIsAddRecharge; + /** + * 充值 + */ + private Integer dAddRecharge; + /** + * 指定商品 + */ + private Boolean dIsPro; + /** + * 降级类型 + */ + private Boolean dType; + /** + * 指定等级 + */ + private String dTypeLevel; + /** + * 商品折扣 + */ + private BigDecimal pDiscount; + /** + * 返积分比例 + */ + private BigDecimal jPointsRatio; + /** + * 返余额比例 + */ + private BigDecimal yBalanceRatio; + /** + * 消费余额 + */ + private Boolean yIsBalance; + /** + * 可提现余额 + */ + private Boolean yIsFundsBalance; + /** + * 订单支付成功后 + */ + private Boolean isOrderSuccessful; + /** + * 订单发货后 + */ + private Boolean isOrderShipped; + /** + * 订单发货并已过维权期 + */ + private Boolean isOrderLaw; + + /** + * 满充值奖励 + */ + private Boolean cIsRechargeBonus; + + /** + * 满充值奖励(元) + */ + private BigDecimal cRechargeBonus; + /** + * 积分 + */ + private Boolean isPoints; + /** + * 积分 + */ + private Integer points; + /** + * 余额 + */ + private Boolean isBalance; + /** + * 余额 + */ + private Integer balance; + /** + * 余额类型 + */ + private String balanceType; + /** + * 优惠券 + */ + private Boolean isCoupon; + /** + * 优惠券集合 + */ + private String couponJson; + /** + * 无门槛包邮 + */ + private Boolean bIsFreeShipping; + /** + * 有门槛包邮 + */ + private Boolean bIsNoFreeShipping; + /** + * 有门槛包邮(元) + */ + private Integer bNoFreeShipping; + /** + * 周期奖励 + */ + private Integer zCycle; + /** + * 礼品卡 + */ + private Boolean isCard; + /** + * 礼品卡集合 + */ + private String cardJson; + /** + * 全部商品 + */ + private Boolean isFull; + /** + * 部分商品 + */ + private Boolean isPortion; + /** + * 部分不参与商品 + */ + private Boolean isNoPortion; + /** + * 门店参与 + */ + private Boolean isStore; + /** + * 门店不参与 + */ + private Boolean isNoStore; + /** + * 商品spuid + */ + private Long spuId; + /** + * 商品skuid + */ + private Long skuId; + /** + * 商品 + */ + private Boolean isPro; } \ No newline at end of file diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/dal/mysql/userconfig/UserConfigMapper.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/dal/mysql/userconfig/UserConfigMapper.java index 7e886cf2a..cae4942ba 100644 --- a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/dal/mysql/userconfig/UserConfigMapper.java +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/dal/mysql/userconfig/UserConfigMapper.java @@ -21,9 +21,56 @@ public interface UserConfigMapper extends BaseMapperX { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(UserConfigDO::getMemberUserId, reqVO.getMemberUserId()) .eqIfPresent(UserConfigDO::getBizType, reqVO.getBizType()) - .eqIfPresent(UserConfigDO::getBeforeJson, reqVO.getBeforeJson()) - .eqIfPresent(UserConfigDO::getAfterJson, reqVO.getAfterJson()) - .eqIfPresent(UserConfigDO::getBizValue, reqVO.getBizValue()) + .eqIfPresent(UserConfigDO::getProType, reqVO.getProType()) + .eqIfPresent(UserConfigDO::getGAnyCondition, reqVO.getGAnyCondition()) + .eqIfPresent(UserConfigDO::getGAllCondition, reqVO.getGAllCondition()) + .eqIfPresent(UserConfigDO::getDIsStrategy, reqVO.getDIsStrategy()) + .eqIfPresent(UserConfigDO::getDStrategyType, reqVO.getDStrategyType()) + .betweenIfPresent(UserConfigDO::getDStrategyTime, reqVO.getDStrategyTime()) + .eqIfPresent(UserConfigDO::getDStrategyCount, reqVO.getDStrategyCount()) + .eqIfPresent(UserConfigDO::getDIsAnyCondition, reqVO.getDIsAnyCondition()) + .eqIfPresent(UserConfigDO::getDAnyConditionCount, reqVO.getDAnyConditionCount()) + .eqIfPresent(UserConfigDO::getDIsSingle, reqVO.getDIsSingle()) + .eqIfPresent(UserConfigDO::getDSingle, reqVO.getDSingle()) + .eqIfPresent(UserConfigDO::getDIsAddSingle, reqVO.getDIsAddSingle()) + .eqIfPresent(UserConfigDO::getDAddSingle, reqVO.getDAddSingle()) + .eqIfPresent(UserConfigDO::getDIsRecharge, reqVO.getDIsRecharge()) + .eqIfPresent(UserConfigDO::getDRecharge, reqVO.getDRecharge()) + .eqIfPresent(UserConfigDO::getDIsAddRecharge, reqVO.getDIsAddRecharge()) + .eqIfPresent(UserConfigDO::getDAddRecharge, reqVO.getDAddRecharge()) + .eqIfPresent(UserConfigDO::getDIsPro, reqVO.getDIsPro()) + .eqIfPresent(UserConfigDO::getDType, reqVO.getDType()) + .eqIfPresent(UserConfigDO::getDTypeLevel, reqVO.getDTypeLevel()) + .eqIfPresent(UserConfigDO::getPDiscount, reqVO.getPDiscount()) + .eqIfPresent(UserConfigDO::getJPointsRatio, reqVO.getJPointsRatio()) + .eqIfPresent(UserConfigDO::getYBalanceRatio, reqVO.getYBalanceRatio()) + .eqIfPresent(UserConfigDO::getYIsBalance, reqVO.getYIsBalance()) + .eqIfPresent(UserConfigDO::getYIsFundsBalance, reqVO.getYIsFundsBalance()) + .eqIfPresent(UserConfigDO::getIsOrderSuccessful, reqVO.getIsOrderSuccessful()) + .eqIfPresent(UserConfigDO::getIsOrderShipped, reqVO.getIsOrderShipped()) + .eqIfPresent(UserConfigDO::getIsOrderLaw, reqVO.getIsOrderLaw()) + .eqIfPresent(UserConfigDO::getCRechargeBonus, reqVO.getCRechargeBonus()) + .eqIfPresent(UserConfigDO::getIsPoints, reqVO.getIsPoints()) + .eqIfPresent(UserConfigDO::getPoints, reqVO.getPoints()) + .eqIfPresent(UserConfigDO::getIsBalance, reqVO.getIsBalance()) + .eqIfPresent(UserConfigDO::getBalance, reqVO.getBalance()) + .eqIfPresent(UserConfigDO::getBalanceType, reqVO.getBalanceType()) + .eqIfPresent(UserConfigDO::getIsCoupon, reqVO.getIsCoupon()) + .eqIfPresent(UserConfigDO::getCouponJson, reqVO.getCouponJson()) + .eqIfPresent(UserConfigDO::getBIsFreeShipping, reqVO.getBIsFreeShipping()) + .eqIfPresent(UserConfigDO::getBIsNoFreeShipping, reqVO.getBIsNoFreeShipping()) + .eqIfPresent(UserConfigDO::getBNoFreeShipping, reqVO.getBNoFreeShipping()) + .eqIfPresent(UserConfigDO::getZCycle, reqVO.getZCycle()) + .eqIfPresent(UserConfigDO::getIsCard, reqVO.getIsCard()) + .eqIfPresent(UserConfigDO::getCardJson, reqVO.getCardJson()) + .eqIfPresent(UserConfigDO::getIsFull, reqVO.getIsFull()) + .eqIfPresent(UserConfigDO::getIsPortion, reqVO.getIsPortion()) + .eqIfPresent(UserConfigDO::getIsNoPortion, reqVO.getIsNoPortion()) + .eqIfPresent(UserConfigDO::getIsStore, reqVO.getIsStore()) + .eqIfPresent(UserConfigDO::getIsNoStore, reqVO.getIsNoStore()) + .eqIfPresent(UserConfigDO::getSpuId, reqVO.getSpuId()) + .eqIfPresent(UserConfigDO::getSkuId, reqVO.getSkuId()) + .eqIfPresent(UserConfigDO::getIsPro, reqVO.getIsPro()) .betweenIfPresent(UserConfigDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(UserConfigDO::getId)); } diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/service/userconfig/UserConfigService.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/service/userconfig/UserConfigService.java index c2aa715f1..bf3564fcf 100644 --- a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/service/userconfig/UserConfigService.java +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/service/userconfig/UserConfigService.java @@ -23,6 +23,128 @@ public interface UserConfigService { */ Integer createUserConfig(@Valid UserConfigSaveReqVO createReqVO); + /** + * 创建会员消费积分 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Integer creatPonts(@Valid UserConfigPontsRespVO createReqVO); + /** + * 创建会员消费返余额 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Integer creatBalance(@Valid UserConfigBalanceRespVO createReqVO); + + /** + * 创建会员充值奖励 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Integer creatBonus(@Valid UserConfigBonusRespVO createReqVO); + + /** + * 创建会员包邮 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Integer creatFree(@Valid UserConfigFreeRespVO createReqVO); + + + + /** + * 创建会员升级礼包 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Integer creatGrade(@Valid UserConfigGradeRespVO createReqVO); + + /** + * 创建会员专属客服 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Integer creatOnly(@Valid UserConfigOnlyRespVO createReqVO); + + + /** + * 创建会员周期奖励 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Integer creatCycle(@Valid UserConfigCycleRespVO createReqVO); + + + + + + + /** + * 跟新会员消费积分 + * + * @param updateReqVO 跟新信息 + * @return 编号 + */ + void updatePonts(@Valid UserConfigPontsRespVO updateReqVO); + /** + * 跟新会员消费返余额 + * + * @param updateReqVO 跟新信息 + * @return 编号 + */ + void updateBalance(@Valid UserConfigBalanceRespVO updateReqVO); + + /** + * 跟新会员充值奖励 + * + * @param updateReqVO 跟新信息 + * @return 编号 + */ + void updateBonus(@Valid UserConfigBonusRespVO updateReqVO); + + /** + * 跟新会员包邮 + * + * @param updateReqVO 跟新信息 + * @return 编号 + */ + void updateFree(@Valid UserConfigFreeRespVO updateReqVO); + + + + /** + * 跟新会员升级礼包 + * + * @param updateReqVO 跟新信息 + * @return 编号 + */ + void updateGrade(@Valid UserConfigGradeRespVO updateReqVO); + + /** + * 跟新会员专属客服 + * + * @param updateReqVO 跟新信息 + * @return 编号 + */ + void updateOnly(@Valid UserConfigOnlyRespVO updateReqVO); + + + /** + * 跟新会员周期奖励 + * + * @param updateReqVO 跟新信息 + * @return 编号 + */ + void updateCycle(@Valid UserConfigCycleRespVO updateReqVO); + + /** * 更新会员条件配置 * diff --git a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/service/userconfig/UserConfigServiceImpl.java b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/service/userconfig/UserConfigServiceImpl.java index f10b45267..e2e461a41 100644 --- a/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/service/userconfig/UserConfigServiceImpl.java +++ b/yudao-module-mall/yudao-module-hshy-biz/src/main/java/cn/iocoder/yudao/module/hshy/service/userconfig/UserConfigServiceImpl.java @@ -39,6 +39,132 @@ public class UserConfigServiceImpl implements UserConfigService { return userConfig.getId(); } + @Override + public Integer creatPonts(UserConfigPontsRespVO createReqVO) { + // 插入 + UserConfigDO userConfig = BeanUtils.toBean(createReqVO, UserConfigDO.class); + userConfigMapper.insert(userConfig); + // 返回 + return userConfig.getId(); + } + + @Override + public Integer creatBalance(UserConfigBalanceRespVO createReqVO) { + // 插入 + UserConfigDO userConfig = BeanUtils.toBean(createReqVO, UserConfigDO.class); + userConfigMapper.insert(userConfig); + // 返回 + return userConfig.getId(); + } + + @Override + public Integer creatBonus(UserConfigBonusRespVO createReqVO) { + // 插入 + UserConfigDO userConfig = BeanUtils.toBean(createReqVO, UserConfigDO.class); + userConfigMapper.insert(userConfig); + // 返回 + return userConfig.getId(); + } + + @Override + public Integer creatFree(UserConfigFreeRespVO createReqVO) { + // 插入 + UserConfigDO userConfig = BeanUtils.toBean(createReqVO, UserConfigDO.class); + userConfigMapper.insert(userConfig); + // 返回 + return userConfig.getId(); + } + + @Override + public Integer creatGrade(UserConfigGradeRespVO createReqVO) { + // 插入 + UserConfigDO userConfig = BeanUtils.toBean(createReqVO, UserConfigDO.class); + userConfigMapper.insert(userConfig); + // 返回 + return userConfig.getId(); + } + + @Override + public Integer creatOnly(UserConfigOnlyRespVO createReqVO) { + // 插入 + UserConfigDO userConfig = BeanUtils.toBean(createReqVO, UserConfigDO.class); + userConfigMapper.insert(userConfig); + // 返回 + return userConfig.getId(); + } + + @Override + public Integer creatCycle(UserConfigCycleRespVO createReqVO) { + // 插入 + UserConfigDO userConfig = BeanUtils.toBean(createReqVO, UserConfigDO.class); + userConfigMapper.insert(userConfig); + // 返回 + return userConfig.getId(); + } + + @Override + public void updatePonts(UserConfigPontsRespVO updateReqVO) { + // 校验存在 + validateUserConfigExists(updateReqVO.getId()); + // 更新 + UserConfigDO updateObj = BeanUtils.toBean(updateReqVO, UserConfigDO.class); + userConfigMapper.updateById(updateObj); + } + + @Override + public void updateBalance(UserConfigBalanceRespVO updateReqVO) { + // 校验存在 + validateUserConfigExists(updateReqVO.getId()); + // 更新 + UserConfigDO updateObj = BeanUtils.toBean(updateReqVO, UserConfigDO.class); + userConfigMapper.updateById(updateObj); + } + + @Override + public void updateBonus(UserConfigBonusRespVO updateReqVO) { + // 校验存在 + validateUserConfigExists(updateReqVO.getId()); + // 更新 + UserConfigDO updateObj = BeanUtils.toBean(updateReqVO, UserConfigDO.class); + userConfigMapper.updateById(updateObj); + } + + @Override + public void updateFree(UserConfigFreeRespVO updateReqVO) { + // 校验存在 + validateUserConfigExists(updateReqVO.getId()); + // 更新 + UserConfigDO updateObj = BeanUtils.toBean(updateReqVO, UserConfigDO.class); + userConfigMapper.updateById(updateObj); + } + + @Override + public void updateGrade(UserConfigGradeRespVO updateReqVO) { + // 校验存在 + validateUserConfigExists(updateReqVO.getId()); + // 更新 + UserConfigDO updateObj = BeanUtils.toBean(updateReqVO, UserConfigDO.class); + userConfigMapper.updateById(updateObj); + } + + @Override + public void updateOnly(UserConfigOnlyRespVO updateReqVO) { + // 校验存在 + validateUserConfigExists(updateReqVO.getId()); + // 更新 + UserConfigDO updateObj = BeanUtils.toBean(updateReqVO, UserConfigDO.class); + userConfigMapper.updateById(updateObj); + } + + @Override + public void updateCycle(UserConfigCycleRespVO updateReqVO) { + // 校验存在 + validateUserConfigExists(updateReqVO.getId()); + // 更新 + UserConfigDO updateObj = BeanUtils.toBean(updateReqVO, UserConfigDO.class); + userConfigMapper.updateById(updateObj); + } + @Override public void updateUserConfig(UserConfigSaveReqVO updateReqVO) { // 校验存在