From a74e6412e003fb9c129826aa9b869cbc21cddf14 Mon Sep 17 00:00:00 2001 From: yang <2119157836@qq.com> Date: Fri, 11 Apr 2025 14:59:43 +0800 Subject: [PATCH] =?UTF-8?q?feat(memberCenter):=20=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E6=9D=83=E7=9B=8A=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../memberCenter/BenefitController.java | 65 ++--------------- .../memberCenter/BenefitNameController.java | 69 +++++++++++++++++++ .../com/mcwl/memberCenter/domain/Benefit.java | 10 +-- .../{BenefitValue.java => BenefitName.java} | 14 ++-- .../{BenefitDto.java => AddBenefitDto.java} | 21 +++--- .../domain/dto/AddBenefitNameDto.java | 31 +++++++++ .../domain/dto/EditBenefitDto.java | 48 +++++++++++++ .../domain/dto/EditBenefitNameDto.java | 33 +++++++++ .../memberCenter/domain/vo/BenefitInfoVo.java | 37 ++++++++++ .../memberCenter/domain/vo/BenefitVo.java | 23 +++---- ...alueMapper.java => BenefitNameMapper.java} | 4 +- ...ueService.java => BenefitNameService.java} | 4 +- .../memberCenter/service/BenefitService.java | 6 ++ ...eImpl.java => BenefitNameServiceImpl.java} | 10 +-- .../service/impl/BenefitServiceImpl.java | 50 ++++++++++++-- .../impl/MemberBenefitServiceImpl.java | 2 +- .../service/impl/MemberServiceImpl.java | 5 +- .../memberCenter/task/UserMemberTask.java | 8 +-- .../mapper/memberCenter/BenefitMapper.xml | 14 ++-- .../mapper/memberCenter/BenefitNameMapper.xml | 8 +++ 20 files changed, 333 insertions(+), 129 deletions(-) create mode 100644 mcwl-admin/src/main/java/com/mcwl/web/controller/memberCenter/BenefitNameController.java rename mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/{BenefitValue.java => BenefitName.java} (68%) rename mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/dto/{BenefitDto.java => AddBenefitDto.java} (68%) create mode 100644 mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/dto/AddBenefitNameDto.java create mode 100644 mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/dto/EditBenefitDto.java create mode 100644 mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/dto/EditBenefitNameDto.java create mode 100644 mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/vo/BenefitInfoVo.java rename mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/mapper/{BenefitValueMapper.java => BenefitNameMapper.java} (70%) rename mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/{BenefitValueService.java => BenefitNameService.java} (65%) rename mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/impl/{BenefitValueServiceImpl.java => BenefitNameServiceImpl.java} (61%) create mode 100644 mcwl-memberCenter/src/main/resources/mapper/memberCenter/BenefitNameMapper.xml diff --git a/mcwl-admin/src/main/java/com/mcwl/web/controller/memberCenter/BenefitController.java b/mcwl-admin/src/main/java/com/mcwl/web/controller/memberCenter/BenefitController.java index 4dd5dee..5ce3d0d 100644 --- a/mcwl-admin/src/main/java/com/mcwl/web/controller/memberCenter/BenefitController.java +++ b/mcwl-admin/src/main/java/com/mcwl/web/controller/memberCenter/BenefitController.java @@ -3,26 +3,18 @@ package com.mcwl.web.controller.memberCenter; import cn.hutool.core.bean.BeanUtil; import com.mcwl.common.core.domain.R; import com.mcwl.memberCenter.domain.Benefit; -import com.mcwl.memberCenter.domain.BenefitValue; -import com.mcwl.memberCenter.domain.dto.BenefitDto; +import com.mcwl.memberCenter.domain.dto.AddBenefitDto; +import com.mcwl.memberCenter.domain.dto.EditBenefitDto; import com.mcwl.memberCenter.domain.vo.BenefitVo; -import com.mcwl.memberCenter.enums.MemberBenefitTypeEnum; import com.mcwl.memberCenter.service.BenefitService; -import com.mcwl.memberCenter.service.BenefitValueService; -import com.mcwl.memberCenter.service.MemberBenefitService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import javax.validation.constraints.NotNull; -import java.util.ArrayList; import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; /*** * 权益 @@ -35,7 +27,6 @@ public class BenefitController { private final BenefitService benefitService; - private final BenefitValueService benefitValueService; /** * 权益列表 @@ -44,21 +35,8 @@ public class BenefitController { @ApiOperation(value = "权益列表") @GetMapping("list") public R> list() { - List benefitList = benefitService.list(); - Map benefitValueMap = benefitValueService.list() - .stream() - .collect(Collectors.toMap(BenefitValue::getId, BenefitValue::getBenefitValue)); - List benefitVoList = new ArrayList<>(); - for (Benefit benefit : benefitList) { - BenefitVo benefitVo = BeanUtil.copyProperties(benefit, BenefitVo.class); - Double value = benefitValueMap.get(benefit.getBenefitDiscountId()); - benefitVo.setBenefitType(benefit.getBenefitType().getValue()); - benefitVo.setBenefitDiscount(value); - benefitVoList.add(benefitVo); - } - - return R.ok(benefitVoList); + return R.ok(benefitService.benefitList()); } /** @@ -67,53 +45,24 @@ public class BenefitController { // @PreAuthorize("@ss.hasPermi('system:benefit:add')") @ApiOperation(value = "添加权益") @PostMapping("add") - @Transactional(rollbackFor = Exception.class) - public R add(@RequestBody @Valid BenefitDto benefitDto) { - Double value = benefitDto.getBenefitDiscount(); - BenefitValue benefitValue = new BenefitValue(); - benefitValue.setBenefitValue(value); - benefitValueService.save(benefitValue); + public R add(@RequestBody @Valid AddBenefitDto addBenefitDto) { - benefitDto.setId(null); - Benefit benefit = BeanUtil.copyProperties(benefitDto, Benefit.class); - benefit.setBenefitDiscountId(benefitValue.getId()); - benefitService.save(benefit); + benefitService.addBenefit(addBenefitDto); return R.ok(); } - /** - * 权益详情 - */ -// @PreAuthorize("@ss.hasPermi('system:benefit:query')") - @ApiOperation(value = "权益详情") - @GetMapping("detail") - public R detail(Long id) { - Benefit benefit = benefitService.getById(id); - BenefitVo benefitVo = BeanUtil.copyProperties(benefit, BenefitVo.class); - benefitVo.setBenefitType(benefit.getBenefitType().getValue()); - - BenefitValue benefitValue = benefitValueService.lambdaQuery().eq(BenefitValue::getId, benefit.getBenefitDiscountId()).one(); - benefitVo.setBenefitDiscount(benefitValue.getBenefitValue()); - - return R.ok(benefitVo); - } - /** * 修改权益 */ // @PreAuthorize("@ss.hasPermi('system:benefit:edit')") @ApiOperation(value = "修改权益") @PostMapping("update") - public R update(@RequestBody @Valid BenefitDto benefitDto) { + public R update(@RequestBody @Valid EditBenefitDto editBenefitDto) { - Benefit benefit = BeanUtil.copyProperties(benefitDto, Benefit.class); + Benefit benefit = BeanUtil.copyProperties(editBenefitDto, Benefit.class); benefitService.updateById(benefit); - BenefitValue benefitValue = benefitValueService.lambdaQuery().eq(BenefitValue::getId, benefit.getBenefitDiscountId()).one(); - benefitValue.setBenefitValue(benefitDto.getBenefitDiscount()); - benefitValueService.updateById(benefitValue); - return R.ok(); diff --git a/mcwl-admin/src/main/java/com/mcwl/web/controller/memberCenter/BenefitNameController.java b/mcwl-admin/src/main/java/com/mcwl/web/controller/memberCenter/BenefitNameController.java new file mode 100644 index 0000000..c7e65b4 --- /dev/null +++ b/mcwl-admin/src/main/java/com/mcwl/web/controller/memberCenter/BenefitNameController.java @@ -0,0 +1,69 @@ +package com.mcwl.web.controller.memberCenter; + +import cn.hutool.core.bean.BeanUtil; +import com.mcwl.common.core.domain.R; +import com.mcwl.memberCenter.domain.Benefit; +import com.mcwl.memberCenter.domain.BenefitName; +import com.mcwl.memberCenter.domain.dto.AddBenefitDto; +import com.mcwl.memberCenter.domain.dto.AddBenefitNameDto; +import com.mcwl.memberCenter.domain.dto.EditBenefitDto; +import com.mcwl.memberCenter.domain.dto.EditBenefitNameDto; +import com.mcwl.memberCenter.domain.vo.BenefitVo; +import com.mcwl.memberCenter.service.BenefitNameService; +import com.mcwl.memberCenter.service.BenefitService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import java.util.List; + +/*** + * 权益名称 + */ +@RestController +@RequestMapping("benefitName") +@RequiredArgsConstructor +@Api(tags = "会员中心") +public class BenefitNameController { + + private final BenefitNameService benefitNameService; + + + /** + * 权益名称列表 + */ + @ApiOperation(value = "权益名称列表") + @GetMapping("list") + public R> list() { + List list = benefitNameService.list(); + return R.ok(list); + } + + @ApiOperation(value = "添加权益名称") + @PostMapping("add") + public R add(@RequestBody @Valid AddBenefitNameDto addBenefitDto) { + BenefitName benefitName = BeanUtil.toBean(addBenefitDto, BenefitName.class); + benefitNameService.save(benefitName); + return R.ok(); + } + + @ApiOperation(value = "修改权益名称") + @PostMapping("update") + public R update(@RequestBody @Valid EditBenefitNameDto editBenefitNameDto) { + BenefitName benefitName = BeanUtil.toBean(editBenefitNameDto, BenefitName.class); + benefitNameService.updateById(benefitName); + return R.ok(); + } + + @ApiOperation(value = "删除权益名称") + @GetMapping("delete") + public R delete(@Valid @NotNull(message = "id不能为空") Long id) { + benefitNameService.removeById(id); + return R.ok(); + } + + +} diff --git a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/Benefit.java b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/Benefit.java index 074cd50..d59b628 100644 --- a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/Benefit.java +++ b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/Benefit.java @@ -18,9 +18,9 @@ public class Benefit extends BaseEntity { @TableId private Long id; /** - * 权益名称 + * 权益名称Id */ - private String benefitName; + private String benefitNameId; /** * 权益描述 */ @@ -32,11 +32,11 @@ public class Benefit extends BaseEntity { /** * 权益折扣,当权益类型为折扣时,记录折扣具体数值 */ - private Long benefitDiscountId; + private Double benefitDiscount; /** - * 权益排序 + * 单位 */ - private Integer benefitOrder; + private String benefitUnit; } diff --git a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/BenefitValue.java b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/BenefitName.java similarity index 68% rename from mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/BenefitValue.java rename to mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/BenefitName.java index 28f41e4..608a2a1 100644 --- a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/BenefitValue.java +++ b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/BenefitName.java @@ -8,23 +8,23 @@ import lombok.Data; import lombok.EqualsAndHashCode; /** - * 权益值表 + * 权益表 */ @Data @EqualsAndHashCode(callSuper = false) -@TableName("mem_benefit_value") -public class BenefitValue extends BaseEntity { +@TableName("mem_benefit_name") +public class BenefitName extends BaseEntity { @TableId private Long id; /** - * 会员权益值 + * 权益名称 */ - private Double benefitValue; + private String benefitName; /** - * 单位 + * 排序 */ - private String benefitUnit; + private Integer benefitOrder; } diff --git a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/dto/BenefitDto.java b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/dto/AddBenefitDto.java similarity index 68% rename from mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/dto/BenefitDto.java rename to mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/dto/AddBenefitDto.java index 65d2cd3..9e168ba 100644 --- a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/dto/BenefitDto.java +++ b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/dto/AddBenefitDto.java @@ -1,13 +1,9 @@ package com.mcwl.memberCenter.domain.dto; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.mcwl.common.core.domain.BaseEntity; import com.mcwl.memberCenter.enums.MemberBenefitTypeEnum; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.EqualsAndHashCode; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; @@ -17,15 +13,13 @@ import javax.validation.constraints.NotNull; */ @Data @ApiModel(description = "权益") -public class BenefitDto { - - private Long id; +public class AddBenefitDto { /** * 权益名称 */ - @ApiModelProperty(value = "权益名称", required = true) - @NotBlank(message = "权益名称不能为空") - private String benefitName; + @ApiModelProperty(value = "权益名称id", required = true) + @NotNull(message = "权益名称id不能为空") + private Long benefitNameId; /** * 权益描述 */ @@ -44,10 +38,11 @@ public class BenefitDto { @NotNull(message = "权益折扣不能为空") private Double benefitDiscount; /** - * 权益排序 + * 单位 */ - @ApiModelProperty(value = "权益排序") - private Integer benefitOrder; + @NotBlank(message = "单位不能为空") + @ApiModelProperty(value = "单位") + private String benefitUnit; } diff --git a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/dto/AddBenefitNameDto.java b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/dto/AddBenefitNameDto.java new file mode 100644 index 0000000..21c4cd7 --- /dev/null +++ b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/dto/AddBenefitNameDto.java @@ -0,0 +1,31 @@ +package com.mcwl.memberCenter.domain.dto; + +import com.mcwl.memberCenter.enums.MemberBenefitTypeEnum; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + * 权益 + */ +@Data +@ApiModel(description = "权益名称") +public class AddBenefitNameDto { + /** + * 权益名称 + */ + @ApiModelProperty(value = "权益名称", required = true) + @NotNull(message = "权益名称不能为空") + private String benefitName; + /** + * 单位 + */ + @NotBlank(message = "排序不能为空") + @ApiModelProperty(value = "排序", required = true) + private Integer benefitOrder; + + +} diff --git a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/dto/EditBenefitDto.java b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/dto/EditBenefitDto.java new file mode 100644 index 0000000..aa5740a --- /dev/null +++ b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/dto/EditBenefitDto.java @@ -0,0 +1,48 @@ +package com.mcwl.memberCenter.domain.dto; + +import com.mcwl.memberCenter.enums.MemberBenefitTypeEnum; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + * 权益 + */ +@Data +@ApiModel(description = "权益") +public class EditBenefitDto { + /** + * 权益id + */ + @ApiModelProperty(value = "权益id", required = true) + @NotNull(message = "权益id不能为空") + private Long id; + /** + * 权益描述 + */ + @ApiModelProperty(value = "权益描述") + private String benefitDesc; + /** + * 权益类型 + */ + @ApiModelProperty(value = "权益类型", required = true) + @NotNull(message = "权益类型不能为空") + private MemberBenefitTypeEnum benefitType; + /** + * 权益折扣,当权益类型为折扣时,记录折扣具体数值 + */ + @ApiModelProperty(value = "权益折扣,当权益类型为折扣时,记录折扣具体数值", required = true) + @NotNull(message = "权益折扣不能为空") + private Double benefitDiscount; + /** + * 单位 + */ + @NotBlank(message = "单位不能为空") + @ApiModelProperty(value = "单位") + private String benefitUnit; + + +} diff --git a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/dto/EditBenefitNameDto.java b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/dto/EditBenefitNameDto.java new file mode 100644 index 0000000..3fb3954 --- /dev/null +++ b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/dto/EditBenefitNameDto.java @@ -0,0 +1,33 @@ +package com.mcwl.memberCenter.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + * 权益 + */ +@Data +@ApiModel(description = "权益名称") +public class EditBenefitNameDto { + @ApiModelProperty(value = "id", required = true) + @NotNull(message = "id不能为空") + private Long id; + /** + * 权益名称 + */ + @ApiModelProperty(value = "权益名称", required = true) + @NotNull(message = "权益名称不能为空") + private String benefitName; + /** + * 单位 + */ + @NotBlank(message = "排序不能为空") + @ApiModelProperty(value = "排序", required = true) + private Integer benefitOrder; + + +} diff --git a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/vo/BenefitInfoVo.java b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/vo/BenefitInfoVo.java new file mode 100644 index 0000000..aee29e3 --- /dev/null +++ b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/vo/BenefitInfoVo.java @@ -0,0 +1,37 @@ +package com.mcwl.memberCenter.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 权益详情vo + */ +@Data +@ApiModel(value = "权益详情vo") +public class BenefitInfoVo { + + private Long id; + /** + * 权益描述 + */ + @ApiModelProperty(value = "权益描述") + private String benefitDesc; + /** + * 权益类型 + */ + @ApiModelProperty(value = "权益类型") + private String benefitType; + /** + * 权益折扣,当权益类型为折扣时,记录折扣具体数值 + */ + @ApiModelProperty(value = "权益折扣,当权益类型为折扣时,记录折扣具体数值") + private Double benefitDiscount; + /** + * 单位 + */ + @ApiModelProperty(value = "单位") + private String benefitUnit; + + +} diff --git a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/vo/BenefitVo.java b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/vo/BenefitVo.java index e62a8ad..82e1029 100644 --- a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/vo/BenefitVo.java +++ b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/domain/vo/BenefitVo.java @@ -4,36 +4,35 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.mcwl.common.core.domain.BaseEntity; import com.mcwl.memberCenter.enums.MemberBenefitTypeEnum; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import java.util.ArrayList; +import java.util.List; + /** * 权益vo */ @Data +@ApiModel(value = "权益列表") public class BenefitVo { private Long id; /** * 权益名称 */ + @ApiModelProperty(value = "权益名称") private String benefitName; - /** - * 权益描述 - */ - private String benefitDesc; - /** - * 权益类型 - */ - private String benefitType; - /** - * 权益折扣,当权益类型为折扣时,记录折扣具体数值 - */ - private Double benefitDiscount; /** * 权益排序 */ + @ApiModelProperty(value = "权益排序") private Integer benefitOrder; + @ApiModelProperty(value = "权益详情") + private List benefitInfoList = new ArrayList<>(); + } diff --git a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/mapper/BenefitValueMapper.java b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/mapper/BenefitNameMapper.java similarity index 70% rename from mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/mapper/BenefitValueMapper.java rename to mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/mapper/BenefitNameMapper.java index fb09cc8..3b9da7e 100644 --- a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/mapper/BenefitValueMapper.java +++ b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/mapper/BenefitNameMapper.java @@ -2,7 +2,7 @@ package com.mcwl.memberCenter.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.mcwl.memberCenter.domain.Benefit; -import com.mcwl.memberCenter.domain.BenefitValue; +import com.mcwl.memberCenter.domain.BenefitName; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -12,6 +12,6 @@ import java.util.List; * 权益 Mapper */ @Mapper -public interface BenefitValueMapper extends BaseMapper { +public interface BenefitNameMapper extends BaseMapper { } diff --git a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/BenefitValueService.java b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/BenefitNameService.java similarity index 65% rename from mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/BenefitValueService.java rename to mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/BenefitNameService.java index 0dbe003..614985b 100644 --- a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/BenefitValueService.java +++ b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/BenefitNameService.java @@ -2,11 +2,11 @@ package com.mcwl.memberCenter.service; import com.baomidou.mybatisplus.extension.service.IService; import com.mcwl.memberCenter.domain.Benefit; -import com.mcwl.memberCenter.domain.BenefitValue; +import com.mcwl.memberCenter.domain.BenefitName; import com.mcwl.memberCenter.enums.MemberBenefitTypeEnum; import java.util.List; -public interface BenefitValueService extends IService { +public interface BenefitNameService extends IService { } diff --git a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/BenefitService.java b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/BenefitService.java index f1b5c4f..314da75 100644 --- a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/BenefitService.java +++ b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/BenefitService.java @@ -2,6 +2,8 @@ package com.mcwl.memberCenter.service; import com.baomidou.mybatisplus.extension.service.IService; import com.mcwl.memberCenter.domain.Benefit; +import com.mcwl.memberCenter.domain.dto.AddBenefitDto; +import com.mcwl.memberCenter.domain.vo.BenefitVo; import com.mcwl.memberCenter.enums.MemberBenefitTypeEnum; import java.util.List; @@ -17,4 +19,8 @@ public interface BenefitService extends IService { List getNotBenefitList(Long memberLevelId); Benefit getBenefitByType(Long memberLevelId, MemberBenefitTypeEnum memberBenefitTypeEnum); + + void addBenefit(AddBenefitDto addBenefitDto); + + List benefitList(); } diff --git a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/impl/BenefitValueServiceImpl.java b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/impl/BenefitNameServiceImpl.java similarity index 61% rename from mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/impl/BenefitValueServiceImpl.java rename to mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/impl/BenefitNameServiceImpl.java index 32ef60d..033d56d 100644 --- a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/impl/BenefitValueServiceImpl.java +++ b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/impl/BenefitNameServiceImpl.java @@ -2,12 +2,12 @@ package com.mcwl.memberCenter.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.mcwl.memberCenter.domain.Benefit; -import com.mcwl.memberCenter.domain.BenefitValue; +import com.mcwl.memberCenter.domain.BenefitName; import com.mcwl.memberCenter.enums.MemberBenefitTypeEnum; import com.mcwl.memberCenter.mapper.BenefitMapper; -import com.mcwl.memberCenter.mapper.BenefitValueMapper; +import com.mcwl.memberCenter.mapper.BenefitNameMapper; +import com.mcwl.memberCenter.service.BenefitNameService; import com.mcwl.memberCenter.service.BenefitService; -import com.mcwl.memberCenter.service.BenefitValueService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -15,6 +15,8 @@ import java.util.List; @Service @RequiredArgsConstructor -public class BenefitValueServiceImpl extends ServiceImpl implements BenefitValueService { +public class BenefitNameServiceImpl extends ServiceImpl implements BenefitNameService { + + } diff --git a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/impl/BenefitServiceImpl.java b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/impl/BenefitServiceImpl.java index 9b1a84b..baea9f2 100644 --- a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/impl/BenefitServiceImpl.java +++ b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/impl/BenefitServiceImpl.java @@ -1,28 +1,29 @@ package com.mcwl.memberCenter.service.impl; +import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.mcwl.memberCenter.domain.Benefit; -import com.mcwl.memberCenter.domain.MemberBenefit; -import com.mcwl.memberCenter.domain.MemberLevel; -import com.mcwl.memberCenter.domain.vo.MemberBenefitVO; +import com.mcwl.memberCenter.domain.BenefitName; +import com.mcwl.memberCenter.domain.dto.AddBenefitDto; +import com.mcwl.memberCenter.domain.vo.BenefitInfoVo; +import com.mcwl.memberCenter.domain.vo.BenefitVo; import com.mcwl.memberCenter.enums.MemberBenefitTypeEnum; import com.mcwl.memberCenter.mapper.BenefitMapper; -import com.mcwl.memberCenter.mapper.MemberBenefitMapper; +import com.mcwl.memberCenter.service.BenefitNameService; import com.mcwl.memberCenter.service.BenefitService; -import com.mcwl.memberCenter.service.MemberBenefitService; -import com.mcwl.memberCenter.service.MemberLevelService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import java.util.ArrayList; -import java.util.Collections; import java.util.List; @Service @RequiredArgsConstructor public class BenefitServiceImpl extends ServiceImpl implements BenefitService { + private final BenefitNameService benefitNameService; + @Override public List getBenefitList() { return baseMapper.getBenefitList(); @@ -42,4 +43,39 @@ public class BenefitServiceImpl extends ServiceImpl impl public Benefit getBenefitByType(Long memberLevelId, MemberBenefitTypeEnum memberBenefitTypeEnum) { return baseMapper.getBenefitByType(memberLevelId, memberBenefitTypeEnum.getValue()); } + + @Override + public void addBenefit(AddBenefitDto addBenefitDto) { + + Benefit benefit = BeanUtil.toBean(addBenefitDto, Benefit.class); + + baseMapper.insert(benefit); + + } + + @Override + public List benefitList() { + + List benefitVoList = new ArrayList<>(); + + List benefitNameList = benefitNameService.list(); + + for (BenefitName benefitName : benefitNameList) { + + BenefitVo benefitVo = BeanUtil.toBean(benefitName, BenefitVo.class); + + List benefitInfoVoList = new ArrayList<>(); + List benefitList = baseMapper.selectList(new LambdaQueryWrapper() + .eq(Benefit::getBenefitNameId, benefitName.getId())); + for (Benefit benefit : benefitList) { + BenefitInfoVo benefitInfoVo1 = BeanUtil.copyProperties(benefit, BenefitInfoVo.class); + benefitInfoVo1.setBenefitType(benefit.getBenefitType().getValue()); + benefitInfoVoList.add(benefitInfoVo1); + } + benefitVo.setBenefitInfoList(benefitInfoVoList); + + benefitVoList.add(benefitVo); + } + return benefitVoList; + } } diff --git a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/impl/MemberBenefitServiceImpl.java b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/impl/MemberBenefitServiceImpl.java index 3ae1f51..916a75b 100644 --- a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/impl/MemberBenefitServiceImpl.java +++ b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/service/impl/MemberBenefitServiceImpl.java @@ -44,7 +44,7 @@ public class MemberBenefitServiceImpl extends ServiceImpl impleme private final BenefitService benefitService; - private final BenefitValueService benefitValueService; - private final RechargeRecordService rechargeRecordService; private static final Map memberLevelMap = new HashMap<>(); @@ -110,8 +108,7 @@ public class MemberServiceImpl extends ServiceImpl impleme // 设置积分 Benefit benefit = benefitService.getBenefitByType(memberLevelId, MemberBenefitTypeEnum.POINTS); if (Objects.nonNull(benefit)) { - BenefitValue benefitValue = benefitValueService.lambdaQuery().eq(BenefitValue::getId, benefit.getBenefitDiscountId()).one(); - Double points = benefitValue.getBenefitValue(); + Double points = benefit.getBenefitDiscount(); // 根据活动id查询活动类型,如果为积分,则积分加成 if (promotionId != null) { Promotion promotion = promotionMapper.selectById(promotionId); diff --git a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/task/UserMemberTask.java b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/task/UserMemberTask.java index f8773f7..8361d49 100644 --- a/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/task/UserMemberTask.java +++ b/mcwl-memberCenter/src/main/java/com/mcwl/memberCenter/task/UserMemberTask.java @@ -33,8 +33,6 @@ public class UserMemberTask { private final BenefitService benefitService; - private final BenefitValueService benefitValueService; - private final PromotionService promotionService; private final MemberPromotionService memberPromotionService; @@ -175,10 +173,6 @@ public class UserMemberTask { */ public Double getPointsByMemberLevelId(Long memberLevelId) { - Map benefitValueMap = benefitValueService.list() - .stream() - .collect(Collectors.toMap(BenefitValue::getId, BenefitValue::getBenefitValue)); - // 根据会员等级id获取会员权益 List memberBenefitList = memberBenefitService.lambdaQuery() .eq(MemberBenefit::getMemberLevelId, memberLevelId) @@ -195,7 +189,7 @@ public class UserMemberTask { .list(); for (Benefit benefit : benefitList) { if (benefit.getBenefitType().getValue().equals(MemberBenefitTypeEnum.POINTS.getValue())) { - return benefitValueMap.getOrDefault(benefit.getBenefitDiscountId(), 0.0); + return benefit.getBenefitDiscount(); } } diff --git a/mcwl-memberCenter/src/main/resources/mapper/memberCenter/BenefitMapper.xml b/mcwl-memberCenter/src/main/resources/mapper/memberCenter/BenefitMapper.xml index a638d25..f2ab356 100644 --- a/mcwl-memberCenter/src/main/resources/mapper/memberCenter/BenefitMapper.xml +++ b/mcwl-memberCenter/src/main/resources/mapper/memberCenter/BenefitMapper.xml @@ -5,33 +5,33 @@