From 3f5d62a7b4d20f6c63021361e7a48cab02e6cca3 Mon Sep 17 00:00:00 2001 From: 陶杰 <1378534974@qq.com> Date: 星期二, 03 九月 2024 15:15:23 +0800 Subject: [PATCH] 1.优惠券相关代码提交 --- src/main/java/com/mzl/flower/entity/coupon/CouponRecordDO.java | 5 -- src/main/java/com/mzl/flower/web/v2/coupon/CouponRecordController.java | 7 +++ src/main/resources/mapper/coupon/CouponRecordMapper.xml | 1 src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplatePointDTO.java | 4 -- src/main/java/com/mzl/flower/dto/response/coupon/CouponRecordResultVO.java | 7 +++ src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateVipController.java | 1 src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplatePointController.java | 1 src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateUserDTO.java | 4 -- src/main/java/com/mzl/flower/dto/request/coupon/QueryCouponRecordDTO.java | 3 + src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponRecordAppDTO.java | 21 ++++++++++ src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java | 5 ++ src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateActivyController.java | 1 src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateAppController.java | 22 ++++++++++- src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateUserController.java | 1 src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateDTO.java | 7 --- src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java | 2 + src/main/resources/mapper/coupon/CouponRecordMapperCustom.xml | 5 ++ 17 files changed, 71 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponRecordAppDTO.java b/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponRecordAppDTO.java new file mode 100644 index 0000000..e8f6a9d --- /dev/null +++ b/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponRecordAppDTO.java @@ -0,0 +1,21 @@ +package com.mzl.flower.dto.request.coupon; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +@Data +public class CreateCouponRecordAppDTO { + + /** + * 优惠券ID + */ + @ApiModelProperty(value = "优惠券ID") + @NotEmpty(message = "优惠券ID不能为空") + private String couponId; + + @ApiModelProperty(value = "商户ID",hidden = true) + private Long customerId; + +} diff --git a/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateDTO.java b/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateDTO.java index 972d056..546ea4a 100644 --- a/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateDTO.java +++ b/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateDTO.java @@ -2,9 +2,6 @@ import com.fasterxml.jackson.annotation.JsonFormat; -import com.mzl.flower.base.BaseAutoEntity; -import com.mzl.flower.base.BaseEntity; -import com.mzl.flower.base.annotation.DictTrans; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; @@ -13,7 +10,6 @@ import javax.validation.constraints.NotNull; import java.math.BigDecimal; import java.time.LocalDateTime; -import java.util.List; @Data public class CreateCouponTemplateDTO { @@ -139,9 +135,6 @@ @NotNull(message = "每人限领不能为空") private Integer getLimit; - - @ApiModelProperty(value = "领取后有效类型名称") - private String usageTimeTypeName; } diff --git a/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplatePointDTO.java b/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplatePointDTO.java index 975ff1a..94472c3 100644 --- a/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplatePointDTO.java +++ b/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplatePointDTO.java @@ -87,8 +87,4 @@ - @ApiModelProperty(value = "领取后有效类型名称") - private String usageTimeTypeName; - - } diff --git a/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateUserDTO.java b/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateUserDTO.java index 6f428ff..5d34ca0 100644 --- a/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateUserDTO.java +++ b/src/main/java/com/mzl/flower/dto/request/coupon/CreateCouponTemplateUserDTO.java @@ -74,8 +74,4 @@ @NotNull(message = "指定的用户列表id不能为空") private List<Long> pointCostomIdList; - - @ApiModelProperty(value = "领取后有效类型名称") - private String usageTimeTypeName; - } diff --git a/src/main/java/com/mzl/flower/dto/request/coupon/QueryCouponRecordDTO.java b/src/main/java/com/mzl/flower/dto/request/coupon/QueryCouponRecordDTO.java index 817f790..f745ccc 100644 --- a/src/main/java/com/mzl/flower/dto/request/coupon/QueryCouponRecordDTO.java +++ b/src/main/java/com/mzl/flower/dto/request/coupon/QueryCouponRecordDTO.java @@ -35,4 +35,7 @@ @ApiModelProperty(value = "领取用户类型-全部用户,指定用户") private String getUserType; + @ApiModelProperty(value = "优惠券模版ID") + private String couponId; + } diff --git a/src/main/java/com/mzl/flower/dto/response/coupon/CouponRecordResultVO.java b/src/main/java/com/mzl/flower/dto/response/coupon/CouponRecordResultVO.java index 6584d80..13e5857 100644 --- a/src/main/java/com/mzl/flower/dto/response/coupon/CouponRecordResultVO.java +++ b/src/main/java/com/mzl/flower/dto/response/coupon/CouponRecordResultVO.java @@ -3,7 +3,6 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.mzl.flower.base.AbstractTransDTO; import com.mzl.flower.base.annotation.DictTrans; -import com.mzl.flower.entity.coupon.CouponTemplateDO; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; @@ -125,5 +124,11 @@ @ApiModelProperty(value = "订单号") private String orderNo; + /** + * 优惠券ID + */ + @ApiModelProperty(value = "优惠券ID") + private String couponId; + } diff --git a/src/main/java/com/mzl/flower/entity/coupon/CouponRecordDO.java b/src/main/java/com/mzl/flower/entity/coupon/CouponRecordDO.java index cfc3594..bc19ba0 100644 --- a/src/main/java/com/mzl/flower/entity/coupon/CouponRecordDO.java +++ b/src/main/java/com/mzl/flower/entity/coupon/CouponRecordDO.java @@ -100,11 +100,6 @@ private Integer point; /** - * 订单号 - */ - private String orderNo; - - /** * 会员等级 */ private Integer memberId; diff --git a/src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java b/src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java index 18e029a..c3020ed 100644 --- a/src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java +++ b/src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java @@ -462,8 +462,11 @@ // 查询订单使用的优惠券 final CouponRecordDO couponRecordDO = getCouponByOrderId(orderId); // TODO + couponRecordDO.setStatus(CouponUsedStatusEnum.UNUSED.getType()); + couponRecordDO.setUsedTime(null); + couponRecordDO.setOrderId(null); - return false; + return baseMapper.updateById(couponRecordDO)>0; } @Override diff --git a/src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java b/src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java index a1c8bef..ce2b9af 100644 --- a/src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java +++ b/src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java @@ -132,6 +132,8 @@ final List<CouponTemplateCustomerDO> couponCustomList = dto.getPointCostomIdList().stream().map(customId -> { CouponTemplateCustomerDO customReDO = new CouponTemplateCustomerDO(); + // 解决本地不加ID不报错,线上报错问题 + customReDO.setId(IdUtil.simpleUUID()); customReDO.setCouponId(couponTemplateDO.getId()); customReDO.setCustomId(customId); return customReDO; diff --git a/src/main/java/com/mzl/flower/web/v2/coupon/CouponRecordController.java b/src/main/java/com/mzl/flower/web/v2/coupon/CouponRecordController.java index e7cdb4f..4c03990 100644 --- a/src/main/java/com/mzl/flower/web/v2/coupon/CouponRecordController.java +++ b/src/main/java/com/mzl/flower/web/v2/coupon/CouponRecordController.java @@ -10,11 +10,13 @@ import com.mzl.flower.dto.request.coupon.QueryCouponRecordDTO; import com.mzl.flower.dto.response.coupon.CouponRecordResultVO; import com.mzl.flower.dto.response.coupon.CouponRecordVO; +import com.mzl.flower.dto.response.customer.CustomerDTO; import com.mzl.flower.entity.coupon.CouponRecordDO; import com.mzl.flower.entity.coupon.CouponTemplateDO; import com.mzl.flower.enums.CouponStatusEnum; import com.mzl.flower.service.coupon.CouponRecordService; import com.mzl.flower.service.coupon.CouponTemplateService2; +import com.mzl.flower.service.customer.CustomerService; import com.mzl.flower.utils.ConverterUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -41,6 +43,8 @@ @Autowired private CouponTemplateService2 couponTemplateService; + private CustomerService customerService; + @PostMapping("") @@ -59,6 +63,9 @@ throw new ValidationException("优惠券已下架"); } + // 根据当前获取获取商户的ID + final CustomerDTO currentCustomer = customerService.getCurrentCustomer(); + dto.setCustomerId(currentCustomer.getId()); couponRecordService.createCouponRecord(dto); return returnData(R.SUCCESS.getCode(), null); diff --git a/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateActivyController.java b/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateActivyController.java index 9b7109e..e14979b 100644 --- a/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateActivyController.java +++ b/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateActivyController.java @@ -78,6 +78,7 @@ } CreateCouponTemplateBO couponTemplateBO = new CreateCouponTemplateBO(); + BeanUtils.copyProperties(couponTemplateDO,couponTemplateBO); BeanUtils.copyProperties(dto, couponTemplateBO); // 设置成积分优惠券 diff --git a/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateAppController.java b/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateAppController.java index 7658080..547b8af 100644 --- a/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateAppController.java +++ b/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateAppController.java @@ -7,22 +7,26 @@ import com.mzl.flower.base.ReturnDataDTO; import com.mzl.flower.config.exception.ValidationException; import com.mzl.flower.config.security.SecurityUtils; +import com.mzl.flower.dto.request.coupon.CreateCouponRecordAppDTO; import com.mzl.flower.dto.request.coupon.CreateCouponRecordDTO; import com.mzl.flower.dto.request.coupon.QueryActivityEffectCouponDTO; import com.mzl.flower.dto.request.coupon.QueryMineCouponRecordDTO; import com.mzl.flower.dto.response.coupon.CouponTemplateAppVO; import com.mzl.flower.dto.response.coupon.CouponTemplateVO; +import com.mzl.flower.dto.response.customer.CustomerDTO; import com.mzl.flower.entity.coupon.CouponTemplateDO; import com.mzl.flower.enums.CouponCategoryEnum; import com.mzl.flower.enums.CouponGetTypeEnum; import com.mzl.flower.enums.CouponStatusEnum; import com.mzl.flower.enums.CouponUsedStatusEnum; +import com.mzl.flower.mapper.customer.CustomerMapper; import com.mzl.flower.service.coupon.CouponRecordService; import com.mzl.flower.service.coupon.CouponTemplateService2; import com.mzl.flower.utils.ConverterUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; @@ -44,6 +48,10 @@ @Autowired CouponRecordService couponRecordService; + + + @Autowired + CustomerMapper customerMapper; @GetMapping("/home/list") @ApiOperation(value = "查询-首页弹框", notes = "查询-首页弹框") @@ -117,7 +125,7 @@ @PostMapping("/receive") @ApiOperation(value = "优惠券领取", notes = "优惠券领取") - public ResponseEntity<ReturnDataDTO> create(@Validated @RequestBody CreateCouponRecordDTO dto) { + public ResponseEntity<ReturnDataDTO> create(@Validated @RequestBody CreateCouponRecordAppDTO dto) { final CouponTemplateDO couponTemplateDO = couponTemplateService.getById(dto.getCouponId()); if(null==couponTemplateDO){ @@ -131,8 +139,18 @@ throw new ValidationException("优惠券已下架"); } + // 根据当前获取获取商户的ID + CustomerDTO currentCustomer = customerMapper.getCurrentCustomer(SecurityUtils.getUserId()); + if(null==currentCustomer){ + throw new ValidationException("当前登录的用户记录不存在"); + } + // 设置当前用户为登录用户 + dto.setCustomerId(currentCustomer.getId()); - couponRecordService.createCouponRecord(dto); + CreateCouponRecordDTO dtoTrans=new CreateCouponRecordDTO(); + BeanUtils.copyProperties(dto,dtoTrans); + + couponRecordService.createCouponRecord(dtoTrans); return returnData(R.SUCCESS.getCode(), null); } diff --git a/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplatePointController.java b/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplatePointController.java index 9817a86..50a553a 100644 --- a/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplatePointController.java +++ b/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplatePointController.java @@ -76,6 +76,7 @@ } CreateCouponTemplateBO couponTemplateBO = new CreateCouponTemplateBO(); + BeanUtils.copyProperties(couponTemplateDO,couponTemplateBO); BeanUtils.copyProperties(dto, couponTemplateBO); // 设置成积分优惠券 diff --git a/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateUserController.java b/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateUserController.java index 5b9f19d..13d7bd7 100644 --- a/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateUserController.java +++ b/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateUserController.java @@ -94,6 +94,7 @@ } CreateCouponTemplateBO couponTemplateBO = new CreateCouponTemplateBO(); + BeanUtils.copyProperties(couponTemplateDO,couponTemplateBO); BeanUtils.copyProperties(dto, couponTemplateBO); // 设置成指定用户 diff --git a/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateVipController.java b/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateVipController.java index be32580..762b64a 100644 --- a/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateVipController.java +++ b/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateVipController.java @@ -75,6 +75,7 @@ } CreateCouponTemplateBO couponTemplateBO = new CreateCouponTemplateBO(); + BeanUtils.copyProperties(couponTemplateDO,couponTemplateBO); BeanUtils.copyProperties(dto, couponTemplateBO); // 设置成积分优惠券 diff --git a/src/main/resources/mapper/coupon/CouponRecordMapper.xml b/src/main/resources/mapper/coupon/CouponRecordMapper.xml index d020e58..a5fe497 100644 --- a/src/main/resources/mapper/coupon/CouponRecordMapper.xml +++ b/src/main/resources/mapper/coupon/CouponRecordMapper.xml @@ -25,7 +25,6 @@ <result column="coupon_name" property="couponName" /> <result column="point" property="point" /> - <result column="order_no" property="orderNo" /> </resultMap> diff --git a/src/main/resources/mapper/coupon/CouponRecordMapperCustom.xml b/src/main/resources/mapper/coupon/CouponRecordMapperCustom.xml index 820cc2d..4b1c2e9 100644 --- a/src/main/resources/mapper/coupon/CouponRecordMapperCustom.xml +++ b/src/main/resources/mapper/coupon/CouponRecordMapperCustom.xml @@ -28,7 +28,6 @@ <result column="get_user_type" property="getUserType" /> <result column="point" property="point" /> - <result column="order_no" property="orderNo" /> </resultMap> <update id="checkCouponExpired"> @@ -116,6 +115,10 @@ AND (t.customerName like concat('%', #{param.keyword},'%') or t.user_id like concat('%', #{param.keyword},'%') ) </if> + <if test="param.couponId != null and param.couponId != ''"> + and t.coupon_id = #{param.couponId} + </if> + order by t.create_time desc </sql> -- Gitblit v1.9.3