mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-01 02:38:43 +08:00 
			
		
		
		
	mall:上传enum类,做后端模板添加判定、前端页面添加
This commit is contained in:
		| @@ -0,0 +1,28 @@ | |||||||
|  | package cn.iocoder.yudao.module.CouponTemplete.enums; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | import lombok.Getter; | ||||||
|  | import lombok.RequiredArgsConstructor; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 优惠券 - 是否开启过期提醒 | ||||||
|  |  * | ||||||
|  |  * @author Sin | ||||||
|  |  */ | ||||||
|  | @RequiredArgsConstructor | ||||||
|  | @Getter | ||||||
|  | public enum CouponExpireTimeTypeEnum { | ||||||
|  |  | ||||||
|  |     OPEN(1,"不开启"),CLOSE(0,"开启"),; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 是否开启过期提醒 | ||||||
|  |      */ | ||||||
|  |     private final Integer type; | ||||||
|  |     /** | ||||||
|  |      * 是否开启过期提醒 | ||||||
|  |      */ | ||||||
|  |     private final String name; | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,28 @@ | |||||||
|  | package cn.iocoder.yudao.module.CouponTemplete.enums; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | import lombok.Getter; | ||||||
|  | import lombok.RequiredArgsConstructor; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 优惠券 - 领取是否无限制 0 | ||||||
|  |  * | ||||||
|  |  * @author Sin | ||||||
|  |  */ | ||||||
|  | @RequiredArgsConstructor | ||||||
|  | @Getter | ||||||
|  | public enum CouponFetchTypeEnum { | ||||||
|  |  | ||||||
|  |     LIMIT(0,"否"),NOT_LIMIT(0,"开启"),; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 是否开启过期提醒 | ||||||
|  |      */ | ||||||
|  |     private final Integer type; | ||||||
|  |     /** | ||||||
|  |      * 是否开启过期提醒 | ||||||
|  |      */ | ||||||
|  |     private final String name; | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,30 @@ | |||||||
|  | package cn.iocoder.yudao.module.CouponTemplete.enums; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | import lombok.Getter; | ||||||
|  | import lombok.RequiredArgsConstructor; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 优惠券 - 优惠券类型 | ||||||
|  |  * | ||||||
|  |  * @author Sin | ||||||
|  |  */ | ||||||
|  | @RequiredArgsConstructor | ||||||
|  | @Getter | ||||||
|  | public enum CouponProductTypeEnum { | ||||||
|  |  | ||||||
|  |     PROCESSING(1,"进行中"), | ||||||
|  |     END(2,"已结束"), | ||||||
|  |     CLOSE(3,"已关闭"),; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 优惠券类型 | ||||||
|  |      */ | ||||||
|  |     private final Integer type; | ||||||
|  |     /** | ||||||
|  |      * 优惠券类型名 | ||||||
|  |      */ | ||||||
|  |     private final String name; | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,30 @@ | |||||||
|  | package cn.iocoder.yudao.module.CouponTemplete.enums; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | import lombok.Getter; | ||||||
|  | import lombok.RequiredArgsConstructor; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 优惠券 - 优惠券类型 | ||||||
|  |  * | ||||||
|  |  * @author Sin | ||||||
|  |  */ | ||||||
|  | @RequiredArgsConstructor | ||||||
|  | @Getter | ||||||
|  | public enum CouponStatusTypeEnum { | ||||||
|  |  | ||||||
|  |     ALL(1,"全部商品可用"), | ||||||
|  |     POINT_PRODUCT(2,"指定商品可用"), | ||||||
|  |     POINT_PRODUCT_NOT(3,"指定商品不可用不能为空"),; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 优惠券类型 | ||||||
|  |      */ | ||||||
|  |     private final Integer type; | ||||||
|  |     /** | ||||||
|  |      * 优惠券类型名 | ||||||
|  |      */ | ||||||
|  |     private final String name; | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,30 @@ | |||||||
|  | package cn.iocoder.yudao.module.CouponTemplete.enums; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | import lombok.Getter; | ||||||
|  | import lombok.RequiredArgsConstructor; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 优惠券 - 优惠券类型 | ||||||
|  |  * | ||||||
|  |  * @author Sin | ||||||
|  |  */ | ||||||
|  | @RequiredArgsConstructor | ||||||
|  | @Getter | ||||||
|  | public enum CouponTypeEnum { | ||||||
|  |  | ||||||
|  |     REWARD(1,"满减"), | ||||||
|  |     DISCOUNT(2,"折扣"), | ||||||
|  |     RANDOW(3,"随机"),; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 优惠券类型 | ||||||
|  |      */ | ||||||
|  |     private final Integer type; | ||||||
|  |     /** | ||||||
|  |      * 优惠券类型名 | ||||||
|  |      */ | ||||||
|  |     private final String name; | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,29 @@ | |||||||
|  | package cn.iocoder.yudao.module.CouponTemplete.enums; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | import lombok.Getter; | ||||||
|  | import lombok.RequiredArgsConstructor; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 优惠券 - 优惠券类型 | ||||||
|  |  * | ||||||
|  |  * @author Sin | ||||||
|  |  */ | ||||||
|  | @RequiredArgsConstructor | ||||||
|  | @Getter | ||||||
|  | public enum CouponUseLimitEnum { | ||||||
|  |  | ||||||
|  |     HAS_LIMIT(1,"无门槛"), | ||||||
|  |     NO_LIMIT(2,"有门槛"),; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 优惠券类型 | ||||||
|  |      */ | ||||||
|  |     private final Integer type; | ||||||
|  |     /** | ||||||
|  |      * 优惠券类型名 | ||||||
|  |      */ | ||||||
|  |     private final String name; | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,29 @@ | |||||||
|  | package cn.iocoder.yudao.module.CouponTemplete.enums; | ||||||
|  |  | ||||||
|  | import lombok.Getter; | ||||||
|  | import lombok.RequiredArgsConstructor; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 过期类型 - 状态 | ||||||
|  |  * | ||||||
|  |  * @author Sin | ||||||
|  |  */ | ||||||
|  | @RequiredArgsConstructor | ||||||
|  | @Getter | ||||||
|  | public enum CouponValidityTypeEnum { | ||||||
|  |  | ||||||
|  |     TIME_RANGE_EXPIRTED(1,"时间范围过期"), | ||||||
|  |     EXPIRES_AFTER_FIXED_DATE(2,"领取之日固定日期后过期"), | ||||||
|  |     EXPIRES_DATE_NEXT_FIEXD_DATE(3,"领取次日固定日期后过期不能为空"),; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 状态值 | ||||||
|  |      */ | ||||||
|  |     private final Integer status; | ||||||
|  |     /** | ||||||
|  |      * 状态名 | ||||||
|  |      */ | ||||||
|  |     private final String name; | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -11,6 +11,13 @@ public interface ErrorCodeConstants { | |||||||
|     // ========== COUPON分类相关 1010001000 ============ |     // ========== COUPON分类相关 1010001000 ============ | ||||||
|  |  | ||||||
|     ErrorCode COUPON_TEMPLETE_NOT_EXISTS = new ErrorCode(1010001000, "优惠券模板不存在"); |     ErrorCode COUPON_TEMPLETE_NOT_EXISTS = new ErrorCode(1010001000, "优惠券模板不存在"); | ||||||
|  |     ErrorCode MONEY_NOT_NULL = new ErrorCode(1010001001, "当type为reward时需要添加发放面额不能为空"); | ||||||
|  |     ErrorCode DISCOUNT_NOT_NULL = new ErrorCode(1010001001, "当type为discount时需要添加折扣不能为空"); | ||||||
|  |     ErrorCode DISCOUNT_LIMIT_NOT_NULL = new ErrorCode(1010001001, "当type为discount时可选择性添加最多折扣金额不能为空"); | ||||||
|  |     ErrorCode MIN_MAX_NOT_NULL = new ErrorCode(1010001001, "当type为radom时需要添加最低金额"); | ||||||
|  |     ErrorCode START_END_TIME_NOT_NULL = new ErrorCode(1010001001, "使用开始日期,使用结束日期不能为空"); | ||||||
|  |     ErrorCode FIXED_TERM_NOT_NULL = new ErrorCode(1010001001, "领取之日起或者次日N天内有效不能为空"); | ||||||
|  |  | ||||||
|  |  | ||||||
|     // ========== COUPON分类相关 1010002000 ============ |     // ========== COUPON分类相关 1010002000 ============ | ||||||
|     ErrorCode COUPON_NOT_EXISTS = new ErrorCode(1010001000, "优惠券模板不存在"); |     ErrorCode COUPON_NOT_EXISTS = new ErrorCode(1010001000, "优惠券模板不存在"); | ||||||
|   | |||||||
| @@ -6,20 +6,13 @@ import org.springframework.validation.annotation.Validated; | |||||||
| import org.springframework.security.access.prepost.PreAuthorize; | import org.springframework.security.access.prepost.PreAuthorize; | ||||||
| import io.swagger.annotations.*; | import io.swagger.annotations.*; | ||||||
|  |  | ||||||
| import javax.validation.constraints.*; |  | ||||||
| import javax.validation.*; | import javax.validation.*; | ||||||
| import javax.servlet.http.*; |  | ||||||
| import java.util.*; | import java.util.*; | ||||||
| import java.io.IOException; |  | ||||||
|  |  | ||||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||||
| import cn.iocoder.yudao.framework.common.pojo.CommonResult; | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||||||
| import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | ||||||
|  |  | ||||||
| import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; |  | ||||||
|  |  | ||||||
| import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; |  | ||||||
| import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; |  | ||||||
|  |  | ||||||
| import cn.iocoder.yudao.module.coupon.controller.admin.coupon.vo.*; | import cn.iocoder.yudao.module.coupon.controller.admin.coupon.vo.*; | ||||||
| import cn.iocoder.yudao.module.coupon.dal.dataobject.coupon.CouponDO; | import cn.iocoder.yudao.module.coupon.dal.dataobject.coupon.CouponDO; | ||||||
| @@ -28,25 +21,29 @@ import cn.iocoder.yudao.module.coupon.service.coupon.CouponService; | |||||||
|  |  | ||||||
| @Api(tags = "管理后台 - 优惠券") | @Api(tags = "管理后台 - 优惠券") | ||||||
| @RestController | @RestController | ||||||
| @RequestMapping("/coupon/") | @RequestMapping("/coupon/coupon/") | ||||||
| @Validated | @Validated | ||||||
| public class CouponController { | public class CouponController { | ||||||
|  |  | ||||||
|     @Resource |     @Resource | ||||||
|     private CouponService Service; |     private CouponService couponService; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     //todo 用户优惠券 | ||||||
|     @PostMapping("/create") |     @PostMapping("/create") | ||||||
|     @ApiOperation("创建优惠券") |     @ApiOperation("用户领取优惠券") | ||||||
|     @PreAuthorize("@ss.hasPermission('coupon::create')") |     @PreAuthorize("@ss.hasPermission('coupon::create')") | ||||||
|     public CommonResult<Long> create(@Valid @RequestBody CouponCreateReqVO createReqVO) { |     public CommonResult<Long> create(@RequestParam("couponTemplateId") Long couponTemplateId) { | ||||||
|         return success(Service.create(createReqVO)); |  | ||||||
|  |         return success(couponService.create(couponTemplateId)); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |  | ||||||
|     @PutMapping("/update") |     @PutMapping("/update") | ||||||
|     @ApiOperation("更新优惠券") |     @ApiOperation("更新优惠券") | ||||||
|     @PreAuthorize("@ss.hasPermission('coupon::update')") |     @PreAuthorize("@ss.hasPermission('coupon::update')") | ||||||
|     public CommonResult<Boolean> update(@Valid @RequestBody CouponUpdateReqVO updateReqVO) { |     public CommonResult<Boolean> update(@Valid @RequestBody CouponUpdateReqVO updateReqVO) { | ||||||
|         Service.update(updateReqVO); |         couponService.update(updateReqVO); | ||||||
|         return success(true); |         return success(true); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @@ -55,7 +52,7 @@ public class CouponController { | |||||||
|     @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Long.class) |     @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Long.class) | ||||||
|     @PreAuthorize("@ss.hasPermission('coupon::delete')") |     @PreAuthorize("@ss.hasPermission('coupon::delete')") | ||||||
|     public CommonResult<Boolean> delete(@RequestParam("id") Long id) { |     public CommonResult<Boolean> delete(@RequestParam("id") Long id) { | ||||||
|         Service.delete(id); |         couponService.delete(id); | ||||||
|         return success(true); |         return success(true); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @@ -64,16 +61,18 @@ public class CouponController { | |||||||
|     @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class) |     @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class) | ||||||
|     @PreAuthorize("@ss.hasPermission('coupon::query')") |     @PreAuthorize("@ss.hasPermission('coupon::query')") | ||||||
|     public CommonResult<CouponRespVO> get(@RequestParam("id") Long id) { |     public CommonResult<CouponRespVO> get(@RequestParam("id") Long id) { | ||||||
|         CouponDO couponDO = Service.get(id); |         CouponDO couponDO = couponService.get(id); | ||||||
|         return success(CouponConvert.INSTANCE.convert(couponDO)); |         return success(CouponConvert.INSTANCE.convert(couponDO)); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|     @GetMapping("/list") |     @GetMapping("/list") | ||||||
|     @ApiOperation("获得优惠券列表") |     @ApiOperation("获得优惠券列表") | ||||||
|     @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) | //    @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) | ||||||
|     @PreAuthorize("@ss.hasPermission('coupon::query')") |     @PreAuthorize("@ss.hasPermission('coupon::query')") | ||||||
|     public CommonResult<List<CouponRespVO>> getList(@RequestParam("ids") Collection<Long> ids) { |     public CommonResult<List<CouponRespVO>> getList(@RequestParam("ids") Collection<Long> ids) { | ||||||
|         List<CouponDO> list = Service.getList(ids); |         List<CouponDO> list = couponService.getList(ids); | ||||||
|         return success(CouponConvert.INSTANCE.convertList(list)); |         return success(CouponConvert.INSTANCE.convertList(list)); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @@ -81,20 +80,9 @@ public class CouponController { | |||||||
|     @ApiOperation("获得优惠券分页") |     @ApiOperation("获得优惠券分页") | ||||||
|     @PreAuthorize("@ss.hasPermission('coupon::query')") |     @PreAuthorize("@ss.hasPermission('coupon::query')") | ||||||
|     public CommonResult<PageResult<CouponRespVO>> getPage(@Valid CouponPageReqVO pageVO) { |     public CommonResult<PageResult<CouponRespVO>> getPage(@Valid CouponPageReqVO pageVO) { | ||||||
|         PageResult<CouponDO> pageResult = Service.getPage(pageVO); |         PageResult<CouponDO> pageResult = couponService.getPage(pageVO); | ||||||
|         return success(CouponConvert.INSTANCE.convertPage(pageResult)); |         return success(CouponConvert.INSTANCE.convertPage(pageResult)); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @GetMapping("/export-excel") |  | ||||||
|     @ApiOperation("导出优惠券 Excel") |  | ||||||
|     @PreAuthorize("@ss.hasPermission('coupon::export')") |  | ||||||
|     @OperateLog(type = EXPORT) |  | ||||||
|     public void exportExcel(@Valid CouponExportReqVO exportReqVO, |  | ||||||
|               HttpServletResponse response) throws IOException { |  | ||||||
|         List<CouponDO> list = Service.getList(exportReqVO); |  | ||||||
|         // 导出 Excel |  | ||||||
|         List<CouponExcelVO> datas = CouponConvert.INSTANCE.convertList02(list); |  | ||||||
|         ExcelUtils.write(response, "优惠券.xls", "数据", CouponExcelVO.class, datas); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -11,24 +11,15 @@ import org.springframework.security.access.prepost.PreAuthorize; | |||||||
| import io.swagger.annotations.*; | import io.swagger.annotations.*; | ||||||
|  |  | ||||||
| import javax.validation.*; | import javax.validation.*; | ||||||
| import javax.servlet.http.*; |  | ||||||
| import java.util.*; | import java.util.*; | ||||||
| import java.io.IOException; |  | ||||||
|  |  | ||||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||||
| import cn.iocoder.yudao.framework.common.pojo.CommonResult; | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||||||
| import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | ||||||
|  |  | ||||||
| import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; |  | ||||||
|  |  | ||||||
| import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; |  | ||||||
| import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @Api(tags = "管理后台 - 优惠券模板") | @Api(tags = "管理后台 - 优惠券模板") | ||||||
| @RestController | @RestController | ||||||
| @RequestMapping("/CouponTemplete/") | @RequestMapping("/coupon/CouponTemplete/") | ||||||
| @Validated | @Validated | ||||||
| public class CouponTempleteController { | public class CouponTempleteController { | ||||||
|  |  | ||||||
| @@ -61,7 +52,7 @@ public class CouponTempleteController { | |||||||
|  |  | ||||||
|     @GetMapping("/get") |     @GetMapping("/get") | ||||||
|     @ApiOperation("获得优惠券模板") |     @ApiOperation("获得优惠券模板") | ||||||
|     @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class) | //    @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class) | ||||||
|     @PreAuthorize("@ss.hasPermission('CouponTemplete::query')") |     @PreAuthorize("@ss.hasPermission('CouponTemplete::query')") | ||||||
|     public CommonResult<CouponTempleteRespVO> get(@RequestParam("id") Long id) { |     public CommonResult<CouponTempleteRespVO> get(@RequestParam("id") Long id) { | ||||||
|         CouponTempleteDO couponTempleteDO = Service.get(id); |         CouponTempleteDO couponTempleteDO = Service.get(id); | ||||||
| @@ -70,7 +61,7 @@ public class CouponTempleteController { | |||||||
|  |  | ||||||
|     @GetMapping("/list") |     @GetMapping("/list") | ||||||
|     @ApiOperation("获得优惠券模板列表") |     @ApiOperation("获得优惠券模板列表") | ||||||
|     @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) | //    @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class) | ||||||
|     @PreAuthorize("@ss.hasPermission('CouponTemplete::query')") |     @PreAuthorize("@ss.hasPermission('CouponTemplete::query')") | ||||||
|     public CommonResult<List<CouponTempleteRespVO>> getList(@RequestParam("ids") Collection<Long> ids) { |     public CommonResult<List<CouponTempleteRespVO>> getList(@RequestParam("ids") Collection<Long> ids) { | ||||||
|         List<CouponTempleteDO> list = Service.getList(ids); |         List<CouponTempleteDO> list = Service.getList(ids); | ||||||
| @@ -85,16 +76,6 @@ public class CouponTempleteController { | |||||||
|         return success(CouponTempleteConvert.INSTANCE.convertPage(pageResult)); |         return success(CouponTempleteConvert.INSTANCE.convertPage(pageResult)); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @GetMapping("/export-excel") |  | ||||||
|     @ApiOperation("导出优惠券模板 Excel") |  | ||||||
|     @PreAuthorize("@ss.hasPermission('CouponTemplete::export')") |  | ||||||
|     @OperateLog(type = EXPORT) |  | ||||||
|     public void exportExcel(@Valid CouponTempleteExportReqVO exportReqVO, |  | ||||||
|               HttpServletResponse response) throws IOException { |  | ||||||
|         List<CouponTempleteDO> list = Service.getList(exportReqVO); |  | ||||||
|         // 导出 Excel |  | ||||||
|         List<CouponTempleteExcelVO> datas = CouponTempleteConvert.INSTANCE.convertList02(list); |  | ||||||
|         ExcelUtils.write(response, "优惠券模板.xls", "数据", CouponTempleteExcelVO.class, datas); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -16,9 +16,8 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ | |||||||
| @Data | @Data | ||||||
| public class CouponTempleteBaseVO { | public class CouponTempleteBaseVO { | ||||||
|  |  | ||||||
|     @ApiModelProperty(value = "优惠券类型 reward-满减 discount-折扣 random-随机", required = true) |  | ||||||
|     @NotNull(message = "优惠券类型 reward-满减 discount-折扣 random-随机不能为空") |     //基本信息 | ||||||
|     private String type; |  | ||||||
|  |  | ||||||
|     @ApiModelProperty(value = "优惠券名称", required = true) |     @ApiModelProperty(value = "优惠券名称", required = true) | ||||||
|     @NotNull(message = "优惠券名称不能为空") |     @NotNull(message = "优惠券名称不能为空") | ||||||
| @@ -30,17 +29,8 @@ public class CouponTempleteBaseVO { | |||||||
|     @ApiModelProperty(value = "优惠券图片") |     @ApiModelProperty(value = "优惠券图片") | ||||||
|     private String image; |     private String image; | ||||||
|  |  | ||||||
|     @ApiModelProperty(value = "发放数量", required = true) |     /*  ============判断适用商品——开始=============  */ | ||||||
|     @NotNull(message = "发放数量不能为空") |  | ||||||
|     private Integer count; |  | ||||||
|  |  | ||||||
|     @ApiModelProperty(value = "已领取数量", required = true) |  | ||||||
|     @NotNull(message = "已领取数量不能为空") |  | ||||||
|     private Integer leadCount; |  | ||||||
|  |  | ||||||
|     @ApiModelProperty(value = "已使用数量", required = true) |  | ||||||
|     @NotNull(message = "已使用数量不能为空") |  | ||||||
|     private Integer usedCount; |  | ||||||
|  |  | ||||||
|     @ApiModelProperty(value = "适用商品类型1-全部商品可用;2-指定商品可用;3-指定商品不可用", required = true) |     @ApiModelProperty(value = "适用商品类型1-全部商品可用;2-指定商品可用;3-指定商品不可用", required = true) | ||||||
|     @NotNull(message = "适用商品类型1-全部商品可用;2-指定商品可用;3-指定商品不可用不能为空") |     @NotNull(message = "适用商品类型1-全部商品可用;2-指定商品可用;3-指定商品不可用不能为空") | ||||||
| @@ -57,15 +47,22 @@ public class CouponTempleteBaseVO { | |||||||
|     @NotNull(message = "满多少元使用 0代表无限制不能为空") |     @NotNull(message = "满多少元使用 0代表无限制不能为空") | ||||||
|     private BigDecimal atLeast; |     private BigDecimal atLeast; | ||||||
|  |  | ||||||
|     @ApiModelProperty(value = "发放面额 当type为reward时需要添加", required = true) |  | ||||||
|  |     /*  ============折扣类型——开始=============  */ | ||||||
|  |  | ||||||
|  |     @ApiModelProperty(value = "优惠券类型 reward-满减 discount-折扣 random-随机", required = true) | ||||||
|  |     @NotNull(message = "优惠券类型 reward-满减 discount-折扣 random-随机不能为空") | ||||||
|  |     private String type; | ||||||
|  |  | ||||||
|  |     @ApiModelProperty(value = "发放面额 当type为reward时需要添加") | ||||||
|     @NotNull(message = "发放面额 当type为reward时需要添加不能为空") |     @NotNull(message = "发放面额 当type为reward时需要添加不能为空") | ||||||
|     private BigDecimal money; |     private BigDecimal money; | ||||||
|  |  | ||||||
|     @ApiModelProperty(value = "1 =< 折扣 <= 9.9 当type为discount时需要添加", required = true) |     @ApiModelProperty(value = "1 =< 折扣 <= 9.9 当type为discount时需要添加") | ||||||
|     @NotNull(message = "1 =< 折扣 <= 9.9 当type为discount时需要添加不能为空") |     @NotNull(message = "1 =< 折扣 <= 9.9 当type为discount时需要添加不能为空") | ||||||
|     private BigDecimal discount; |     private BigDecimal discount; | ||||||
|  |  | ||||||
|     @ApiModelProperty(value = "最多折扣金额 当type为discount时可选择性添加", required = true) |     @ApiModelProperty(value = "最多折扣金额 当type为discount时可选择性添加") | ||||||
|     @NotNull(message = "最多折扣金额 当type为discount时可选择性添加不能为空") |     @NotNull(message = "最多折扣金额 当type为discount时可选择性添加不能为空") | ||||||
|     private BigDecimal discountLimit; |     private BigDecimal discountLimit; | ||||||
|  |  | ||||||
| @@ -77,9 +74,15 @@ public class CouponTempleteBaseVO { | |||||||
|     @NotNull(message = "最大金额 当type为radom时需要添加不能为空") |     @NotNull(message = "最大金额 当type为radom时需要添加不能为空") | ||||||
|     private BigDecimal maxMoney; |     private BigDecimal maxMoney; | ||||||
|  |  | ||||||
|  |     /*  ============折扣类型——结束=============  */ | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     /*  ============过期类型——开始=============  */ | ||||||
|  |  | ||||||
|  |  | ||||||
|     @ApiModelProperty(value = "过期类型1-时间范围过期 2-领取之日固定日期后过期 3-领取次日固定日期后过期", required = true) |     @ApiModelProperty(value = "过期类型1-时间范围过期 2-领取之日固定日期后过期 3-领取次日固定日期后过期", required = true) | ||||||
|     @NotNull(message = "过期类型1-时间范围过期 2-领取之日固定日期后过期 3-领取次日固定日期后过期不能为空") |     @NotNull(message = "过期类型1-时间范围过期 2-领取之日固定日期后过期 3-领取次日固定日期后过期 不能为空") | ||||||
|     private Boolean validityType; |     private Integer validityType; | ||||||
|  |  | ||||||
|     @ApiModelProperty(value = "使用开始日期 过期类型1时必填") |     @ApiModelProperty(value = "使用开始日期 过期类型1时必填") | ||||||
|     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||||||
| @@ -89,19 +92,26 @@ public class CouponTempleteBaseVO { | |||||||
|     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||||||
|     private Date endUseTime; |     private Date endUseTime; | ||||||
|  |  | ||||||
|     @ApiModelProperty(value = "当validity_type为2或者3时需要添加 领取之日起或者次日N天内有效", required = true) |     @ApiModelProperty(value = "当validity_type为2或者3时需要添加 领取之日起或者次日N天内有效") | ||||||
|     @NotNull(message = "当validity_type为2或者3时需要添加 领取之日起或者次日N天内有效不能为空") |     @NotNull(message = "当validity_type为2或者3时需要添加 领取之日起或者次日N天内有效不能为空") | ||||||
|     private Integer fixedTerm; |     private Integer fixedTerm; | ||||||
|  |  | ||||||
|     @ApiModelProperty(value = "是否无限制0-否 1是", required = true) |     @ApiModelProperty(value = "有效日期结束时间") | ||||||
|     @NotNull(message = "是否无限制0-否 1是不能为空") |     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||||||
|  |     private Date endTime; | ||||||
|  |  | ||||||
|  |     /*  ============过期类型——结束=============  */ | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     @ApiModelProperty(value = "领取是否无限制0-否 1是", required = true) | ||||||
|  |     @NotNull(message = "是否无限制0-否 1是 不能为空") | ||||||
|     private Boolean whetherLimitless; |     private Boolean whetherLimitless; | ||||||
|  |  | ||||||
|     @ApiModelProperty(value = "每人最大领取个数", required = true) |     @ApiModelProperty(value = "每人最大领取个数", required = true) | ||||||
|     @NotNull(message = "每人最大领取个数不能为空") |     @NotNull(message = "每人最大领取个数不能为空") | ||||||
|     private Integer maxFetch; |     private Integer maxFetch; | ||||||
|  |  | ||||||
|     @ApiModelProperty(value = "是否开启过期提醒0-不开启 1-开启", required = true) |     @ApiModelProperty(value = "是否开启过期提醒 0-不开启 1-开启", required = true) | ||||||
|     @NotNull(message = "是否开启过期提醒0-不开启 1-开启不能为空") |     @NotNull(message = "是否开启过期提醒0-不开启 1-开启不能为空") | ||||||
|     private Boolean whetherExpireNotice; |     private Boolean whetherExpireNotice; | ||||||
|  |  | ||||||
| @@ -117,6 +127,18 @@ public class CouponTempleteBaseVO { | |||||||
|     @NotNull(message = "是否显示不能为空") |     @NotNull(message = "是否显示不能为空") | ||||||
|     private Integer whetherShow; |     private Integer whetherShow; | ||||||
|  |  | ||||||
|  |     @ApiModelProperty(value = "是否禁止发放0-否 1-是", required = true) | ||||||
|  |     @NotNull(message = "是否禁止发放0-否 1-是不能为空") | ||||||
|  |     private Boolean whetherForbidden; | ||||||
|  |  | ||||||
|  |     /*  ============汇总计算——开始=============  */ | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     @ApiModelProperty(value = "使用优惠券购买的商品数量", required = true) | ||||||
|  |     @NotNull(message = "使用优惠券购买的商品数量不能为空") | ||||||
|  |     private Integer orderGoodsNum; | ||||||
|  |  | ||||||
|     @ApiModelProperty(value = "订单的优惠总金额", required = true) |     @ApiModelProperty(value = "订单的优惠总金额", required = true) | ||||||
|     @NotNull(message = "订单的优惠总金额不能为空") |     @NotNull(message = "订单的优惠总金额不能为空") | ||||||
|     private BigDecimal discountOrderMoney; |     private BigDecimal discountOrderMoney; | ||||||
| @@ -125,20 +147,26 @@ public class CouponTempleteBaseVO { | |||||||
|     @NotNull(message = "用券总成交额不能为空") |     @NotNull(message = "用券总成交额不能为空") | ||||||
|     private BigDecimal orderMoney; |     private BigDecimal orderMoney; | ||||||
|  |  | ||||||
|     @ApiModelProperty(value = "是否禁止发放0-否 1-是", required = true) |     @ApiModelProperty(value = "发放数量", required = true) | ||||||
|     @NotNull(message = "是否禁止发放0-否 1-是不能为空") |     @NotNull(message = "发放数量不能为空") | ||||||
|     private Boolean whetherForbidden; |     private Integer count; | ||||||
|  |  | ||||||
|     @ApiModelProperty(value = "使用优惠券购买的商品数量", required = true) |     @ApiModelProperty(value = "已领取数量", required = true) | ||||||
|     @NotNull(message = "使用优惠券购买的商品数量不能为空") |     @NotNull(message = "已领取数量不能为空") | ||||||
|     private Integer orderGoodsNum; |     private Integer leadCount; | ||||||
|  |  | ||||||
|     @ApiModelProperty(value = "状态(1进行中2已结束-1已关闭)", required = true) |     @ApiModelProperty(value = "已使用数量", required = true) | ||||||
|  |     @NotNull(message = "已使用数量不能为空") | ||||||
|  |     private Integer usedCount; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     /*  ============汇总计算——结束=============  */ | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     @ApiModelProperty(value = "状态(1进行中2已结束3已关闭)", required = true) | ||||||
|     @NotNull(message = "状态(1进行中2已结束-1已关闭)不能为空") |     @NotNull(message = "状态(1进行中2已结束-1已关闭)不能为空") | ||||||
|     private Integer status; |     private Integer status; | ||||||
|  |  | ||||||
|     @ApiModelProperty(value = "有效日期结束时间") |  | ||||||
|     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |  | ||||||
|     private Date endTime; |  | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,5 +1,7 @@ | |||||||
| package cn.iocoder.yudao.module.coupon.service.CouponTemplete; | package cn.iocoder.yudao.module.coupon.service.CouponTemplete; | ||||||
|  |  | ||||||
|  | import cn.iocoder.yudao.module.CouponTemplete.enums.CouponTypeEnum; | ||||||
|  | import cn.iocoder.yudao.module.CouponTemplete.enums.CouponValidityTypeEnum; | ||||||
| import cn.iocoder.yudao.module.coupon.controller.admin.coupontemplete.vo.CouponTempleteCreateReqVO; | import cn.iocoder.yudao.module.coupon.controller.admin.coupontemplete.vo.CouponTempleteCreateReqVO; | ||||||
| import cn.iocoder.yudao.module.coupon.controller.admin.coupontemplete.vo.CouponTempleteExportReqVO; | import cn.iocoder.yudao.module.coupon.controller.admin.coupontemplete.vo.CouponTempleteExportReqVO; | ||||||
| import cn.iocoder.yudao.module.coupon.controller.admin.coupontemplete.vo.CouponTempletePageReqVO; | import cn.iocoder.yudao.module.coupon.controller.admin.coupontemplete.vo.CouponTempletePageReqVO; | ||||||
| @@ -18,7 +20,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | |||||||
|  |  | ||||||
|  |  | ||||||
| import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | ||||||
| import static cn.iocoder.yudao.module.CouponTemplete.enums.ErrorCodeConstants.COUPON_TEMPLETE_NOT_EXISTS; | import static cn.iocoder.yudao.module.CouponTemplete.enums.ErrorCodeConstants.*; | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * 优惠券模板 Service 实现类 |  * 优惠券模板 Service 实现类 | ||||||
| @@ -36,11 +38,57 @@ public class CouponTempleteServiceImpl implements CouponTempleteService { | |||||||
|     public Long create(CouponTempleteCreateReqVO createReqVO) { |     public Long create(CouponTempleteCreateReqVO createReqVO) { | ||||||
|         // 插入 |         // 插入 | ||||||
|         CouponTempleteDO couponTempleteDO = CouponTempleteConvert.INSTANCE.convert(createReqVO); |         CouponTempleteDO couponTempleteDO = CouponTempleteConvert.INSTANCE.convert(createReqVO); | ||||||
|  |         /* 验证类型、判断必填*/ | ||||||
|  |         checkCouponType(createReqVO); | ||||||
|  |  | ||||||
|  |         /*todo 验证过期类型、判断必填*/ | ||||||
|  |         checkValidityType(createReqVO); | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|         couponTempleteMapper.insert(couponTempleteDO); |         couponTempleteMapper.insert(couponTempleteDO); | ||||||
|         // 返回 |         // 返回 | ||||||
|         return couponTempleteDO.getId(); |         return couponTempleteDO.getId(); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     /*确认优惠券类型*/ | ||||||
|  |     private void checkValidityType(CouponTempleteCreateReqVO createReqVO) { | ||||||
|  |         Integer validtyType = createReqVO.getValidityType(); | ||||||
|  |  | ||||||
|  |         if(CouponValidityTypeEnum.TIME_RANGE_EXPIRTED.getStatus().equals(validtyType)){ | ||||||
|  |             if(createReqVO.getStartUseTime() == null||createReqVO.getEndUseTime() == null){ | ||||||
|  |                 throw exception(START_END_TIME_NOT_NULL); | ||||||
|  |             } | ||||||
|  |         }else{ | ||||||
|  |             if(createReqVO.getFixedTerm() == null){ | ||||||
|  |                 throw exception(FIXED_TERM_NOT_NULL); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     private void checkCouponType(CouponTempleteCreateReqVO createReqVO) { | ||||||
|  |  | ||||||
|  |         String couponType = createReqVO.getType(); | ||||||
|  |         //当type=reward时候,需要添加 | ||||||
|  |         if(couponType.equals(CouponTypeEnum.REWARD.getName())){ | ||||||
|  |             if(createReqVO.getMoney()==null){ | ||||||
|  |                 throw exception(MONEY_NOT_NULL); | ||||||
|  |             } | ||||||
|  |         }else if(couponType.equals(CouponTypeEnum.DISCOUNT.getName())){ | ||||||
|  |             if(createReqVO.getDiscount()==null){ | ||||||
|  |                 throw exception(DISCOUNT_NOT_NULL); | ||||||
|  |             } | ||||||
|  |             if(createReqVO.getDiscountLimit()==null){ | ||||||
|  |                 throw exception(DISCOUNT_LIMIT_NOT_NULL); | ||||||
|  |             } | ||||||
|  |         }else if (couponType.equals(CouponTypeEnum.RANDOW.getName())){ | ||||||
|  |             //当type为radom时需要添加不能为空 | ||||||
|  |             if(createReqVO.getMinMoney()==null||createReqVO.getMaxMoney()==null){ | ||||||
|  |                 throw exception(MIN_MAX_NOT_NULL); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     public void update(CouponTempleteUpdateReqVO updateReqVO) { |     public void update(CouponTempleteUpdateReqVO updateReqVO) { | ||||||
|         // 校验存在 |         // 校验存在 | ||||||
|   | |||||||
| @@ -16,10 +16,10 @@ public interface CouponService { | |||||||
|     /** |     /** | ||||||
|      * 创建优惠券 |      * 创建优惠券 | ||||||
|      * |      * | ||||||
|      * @param createReqVO 创建信息 |      * @param templateId 优惠券模板id | ||||||
|      * @return 编号 |      * @return 编号 | ||||||
|      */ |      */ | ||||||
|     Long create(@Valid CouponCreateReqVO createReqVO); |     Long create(Long templateId); | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 更新优惠券 |      * 更新优惠券 | ||||||
|   | |||||||
| @@ -1,5 +1,10 @@ | |||||||
| package cn.iocoder.yudao.module.coupon.service.coupon; | package cn.iocoder.yudao.module.coupon.service.coupon; | ||||||
|  |  | ||||||
|  | import cn.hutool.core.bean.BeanUtil; | ||||||
|  | import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; | ||||||
|  | import cn.iocoder.yudao.module.coupon.dal.dataobject.CouponTemplete.CouponTempleteDO; | ||||||
|  | import cn.iocoder.yudao.module.coupon.dal.mysql.CouponTemplete.CouponTempleteMapper; | ||||||
|  | import io.micrometer.core.instrument.Counter; | ||||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||||
| import javax.annotation.Resource; | import javax.annotation.Resource; | ||||||
| import org.springframework.validation.annotation.Validated; | import org.springframework.validation.annotation.Validated; | ||||||
| @@ -27,7 +32,9 @@ public class CouponServiceImpl implements CouponService { | |||||||
|     @Resource |     @Resource | ||||||
|     private CouponMapper couponMapper; |     private CouponMapper couponMapper; | ||||||
|  |  | ||||||
|     @Override |     @Resource | ||||||
|  |     private CouponTempleteMapper couponTempleteMapper; | ||||||
|  |  | ||||||
|     public Long create(CouponCreateReqVO createReqVO) { |     public Long create(CouponCreateReqVO createReqVO) { | ||||||
|         // 插入 |         // 插入 | ||||||
|         CouponDO couponDO = CouponConvert.INSTANCE.convert(createReqVO); |         CouponDO couponDO = CouponConvert.INSTANCE.convert(createReqVO); | ||||||
| @@ -36,6 +43,24 @@ public class CouponServiceImpl implements CouponService { | |||||||
|         return couponDO.getId(); |         return couponDO.getId(); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      *todo 获取用户id收获优惠券 | ||||||
|  |      *@author:wxr | ||||||
|  |      *@date:2022-08-13 3:11 | ||||||
|  |      *@Description | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public Long create(Long templateId) { | ||||||
|  |         Long userid = SecurityFrameworkUtils.getLoginUserId(); | ||||||
|  |         CouponDO couponDO = CouponDO.builder().memberId(userid).build(); | ||||||
|  |         CouponTempleteDO couponTempleteDO = couponTempleteMapper.selectById(templateId); | ||||||
|  |         //todo 缺少判空 | ||||||
|  |         BeanUtil.copyProperties(couponTempleteDO,couponTempleteDO); | ||||||
|  |         couponMapper.insert(couponDO); | ||||||
|  |         return couponDO.getId(); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     public void update(CouponUpdateReqVO updateReqVO) { |     public void update(CouponUpdateReqVO updateReqVO) { | ||||||
|         // 校验存在 |         // 校验存在 | ||||||
|   | |||||||
| @@ -5,7 +5,7 @@ ENV = 'development' | |||||||
| VUE_APP_TITLE = 芋道管理系统 | VUE_APP_TITLE = 芋道管理系统 | ||||||
|  |  | ||||||
| # 芋道管理系统/开发环境 | # 芋道管理系统/开发环境 | ||||||
| VUE_APP_BASE_API = 'http://localhost:48080' | VUE_APP_BASE_API = 'http://localhost:48081' | ||||||
|  |  | ||||||
| # 路由懒加载 | # 路由懒加载 | ||||||
| VUE_CLI_BABEL_TRANSPILE_MODULES = true | VUE_CLI_BABEL_TRANSPILE_MODULES = true | ||||||
|   | |||||||
| @@ -6,7 +6,7 @@ VUE_APP_TITLE = 芋道管理系统 | |||||||
|  |  | ||||||
| # 芋道管理系统/本地环境 | # 芋道管理系统/本地环境 | ||||||
| # VUE_APP_BASE_API = '/proxy-api' | # VUE_APP_BASE_API = '/proxy-api' | ||||||
| VUE_APP_BASE_API = 'http://127.0.0.1:48080' | VUE_APP_BASE_API = 'http://127.0.0.1:48081' | ||||||
|  |  | ||||||
| # 路由懒加载 | # 路由懒加载 | ||||||
| VUE_CLI_BABEL_TRANSPILE_MODULES = true | VUE_CLI_BABEL_TRANSPILE_MODULES = true | ||||||
|   | |||||||
							
								
								
									
										54
									
								
								yudao-ui-admin/src/api/mall/CouponTemplete/CouponTemplete.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								yudao-ui-admin/src/api/mall/CouponTemplete/CouponTemplete.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,54 @@ | |||||||
|  | import request from '@/utils/request' | ||||||
|  |  | ||||||
|  | // 创建优惠券模板 | ||||||
|  | export function create(data) { | ||||||
|  |   return request({ | ||||||
|  |     url: '/coupon/CouponTemplete/create', | ||||||
|  |     method: 'post', | ||||||
|  |     data: data | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // 更新优惠券模板 | ||||||
|  | export function update(data) { | ||||||
|  |   return request({ | ||||||
|  |     url: '/coupon/CouponTemplete/update', | ||||||
|  |     method: 'put', | ||||||
|  |     data: data | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // 删除优惠券模板 | ||||||
|  | export function deleteCouponTemplete (id) { | ||||||
|  |   return request({ | ||||||
|  |     url: '/coupon/CouponTemplete/delete?id=' + id, | ||||||
|  |     method: 'delete' | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // 获得优惠券模板 | ||||||
|  | export function get(id) { | ||||||
|  |   return request({ | ||||||
|  |     url: '/coupon/CouponTemplete/get?id=' + id, | ||||||
|  |     method: 'get' | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // 获得优惠券模板分页 | ||||||
|  | export function getPage(query) { | ||||||
|  |   return request({ | ||||||
|  |     url: '/coupon/CouponTemplete/page', | ||||||
|  |     method: 'get', | ||||||
|  |     params: query | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // 导出优惠券模板 Excel | ||||||
|  | export function exportExcel(query) { | ||||||
|  |   return request({ | ||||||
|  |     url: '/coupon/CouponTemplete/export-excel', | ||||||
|  |     method: 'get', | ||||||
|  |     params: query, | ||||||
|  |     responseType: 'blob' | ||||||
|  |   }) | ||||||
|  | } | ||||||
							
								
								
									
										457
									
								
								yudao-ui-admin/src/views/mall/CouponTemplete/index.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										457
									
								
								yudao-ui-admin/src/views/mall/CouponTemplete/index.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,457 @@ | |||||||
|  | <template> | ||||||
|  |   <div class="app-container"> | ||||||
|  |  | ||||||
|  |     <!-- 搜索工作栏 --> | ||||||
|  |     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> | ||||||
|  |       <el-form-item label="优惠券类" prop="type"> | ||||||
|  |         <el-select v-model="queryParams.type" placeholder="请选择优惠券类型 reward-满减 discount-折扣 random-随机" clearable size="small"> | ||||||
|  |           <el-option label="请选择字典生成" value="" /> | ||||||
|  |         </el-select> | ||||||
|  |       </el-form-item> | ||||||
|  |       <el-form-item label="优惠券名称" prop="name"> | ||||||
|  |         <el-input v-model="queryParams.name" placeholder="请输入优惠券名称" clearable @keyup.enter.native="handleQuery"/> | ||||||
|  |       </el-form-item> | ||||||
|  |  | ||||||
|  |       <el-form-item label="状态" prop="status"> | ||||||
|  |         <el-select v-model="queryParams.status" placeholder="请选择状态(1进行中2已结束-1已关闭)" clearable size="small"> | ||||||
|  |           <el-option label="请选择字典生成" value="" /> | ||||||
|  |         </el-select> | ||||||
|  |       </el-form-item> | ||||||
|  |       <el-form-item label="有效日期结束时间" prop="endTime"> | ||||||
|  |         <el-date-picker v-model="queryParams.endTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange" | ||||||
|  |                         range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" /> | ||||||
|  |       </el-form-item> | ||||||
|  |  | ||||||
|  |       <el-form-item> | ||||||
|  |         <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button> | ||||||
|  |         <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button> | ||||||
|  |       </el-form-item> | ||||||
|  |     </el-form> | ||||||
|  |  | ||||||
|  |     <!-- 操作工具栏 --> | ||||||
|  |     <el-row :gutter="10" class="mb8"> | ||||||
|  |       <el-col :span="1.5"> | ||||||
|  |         <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" | ||||||
|  |                    v-hasPermi="['CouponTemplete::create']">新增</el-button> | ||||||
|  |       </el-col> | ||||||
|  |       <el-col :span="1.5"> | ||||||
|  |         <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading" | ||||||
|  |                    v-hasPermi="['CouponTemplete::export']">导出</el-button> | ||||||
|  |       </el-col> | ||||||
|  |       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> | ||||||
|  |     </el-row> | ||||||
|  |  | ||||||
|  |     <!-- 列表 --> | ||||||
|  |     <el-table v-loading="loading" :data="list"> | ||||||
|  |       <el-table-column label="用户ID" align="center" prop="id" /> | ||||||
|  |  | ||||||
|  |     <!--      todo 优惠券类型--> | ||||||
|  |       <el-table-column label="优惠券类型" align="center" prop="type" /> | ||||||
|  |       <el-table-column label="优惠券名称" align="center" prop="name" /> | ||||||
|  |       <el-table-column label="优惠券图片" align="center" prop="image" /> | ||||||
|  |       <el-table-column label="发放数量" align="center" prop="count" /> | ||||||
|  |       <el-table-column label="已领取数量" align="center" prop="leadCount" /> | ||||||
|  |       <el-table-column label="已使用数量" align="center" prop="usedCount" /> | ||||||
|  | <!--            todo 适用商品类型--> | ||||||
|  | <!--      <el-table-column label="适用商品类型" align="center" prop="goodsType" />--> | ||||||
|  |       <!--      todo 使用门槛0-无门槛 1-有门槛--> | ||||||
|  |  | ||||||
|  |       <el-table-column label="使用门槛" align="center" prop="hasUseLimit" /> | ||||||
|  | <!--      <el-table-column label="满多少元使用 0代表无限制" align="center" prop="atLeast" />--> | ||||||
|  |       <!--      todo 发放面额 折扣--> | ||||||
|  |       <el-table-column label="优惠金额/折扣" align="center" prop="money" /> | ||||||
|  | <!--      <el-table-column label="1 =< 折扣 <= 9.9 当type为discount时需要添加" align="center" prop="discount" />--> | ||||||
|  | <!--      <el-table-column label="最多折扣金额 当type为discount时可选择性添加" align="center" prop="discountLimit" />--> | ||||||
|  | <!--      <el-table-column label="最低金额 当type为radom时需要添加" align="center" prop="minMoney" />--> | ||||||
|  | <!--      <el-table-column label="最大金额 当type为radom时需要添加" align="center" prop="maxMoney" />--> | ||||||
|  |       <!-- todo 1-时间范围过期 2-领取之日固定日期后过期 3-领取次日固定日期后过期 --> | ||||||
|  |       <el-table-column label="有效期限" align="center" prop="validityType" /> | ||||||
|  | <!--      <el-table-column label="使用开始日期 过期类型1时必填" align="center" prop="startUseTime" width="180">--> | ||||||
|  | <!--        <template slot-scope="scope">--> | ||||||
|  | <!--          <span>{{ parseTime(scope.row.startUseTime) }}</span>--> | ||||||
|  | <!--        </template>--> | ||||||
|  | <!--      </el-table-column>--> | ||||||
|  | <!--      <el-table-column label="使用结束日期 过期类型1时必填" align="center" prop="endUseTime" width="180">--> | ||||||
|  | <!--        <template slot-scope="scope">--> | ||||||
|  | <!--          <span>{{ parseTime(scope.row.endUseTime) }}</span>--> | ||||||
|  | <!--        </template>--> | ||||||
|  | <!--      </el-table-column>--> | ||||||
|  | <!--      <el-table-column label="有效日期结束时间" align="center" prop="endTime" width="180">--> | ||||||
|  | <!--        <template slot-scope="scope">--> | ||||||
|  | <!--          <span>{{ parseTime(scope.row.endTime) }}</span>--> | ||||||
|  | <!--        </template>--> | ||||||
|  | <!--      </el-table-column>--> | ||||||
|  | <!--      <el-table-column label="当validity_type为2或者3时需要添加 领取之日起或者次日N天内有效" align="center" prop="fixedTerm" />--> | ||||||
|  | <!--      <el-table-column label="是否无限制0-否 1是" align="center" prop="whetherLimitless" />--> | ||||||
|  |       <el-table-column label="领取上限" align="center" prop="maxFetch" /> | ||||||
|  |       <!--   todo     0-不限制 1- 优惠券仅原价购买商品时可用--> | ||||||
|  |       <el-table-column label="优惠叠加" align="center" prop="whetherForbidPreference" /> | ||||||
|  |       <el-table-column label="是否显示" align="center" prop="whetherShow" /> | ||||||
|  |       <el-table-column label="订单的优惠总金额" align="center" prop="discountOrderMoney" /> | ||||||
|  |       <el-table-column label="用券总成交额" align="center" prop="orderMoney" /> | ||||||
|  |       <el-table-column label="是否禁止发放" align="center" prop="whetherForbidden" /> | ||||||
|  |       <el-table-column label="使用优惠券购买的商品数量" align="center" prop="orderGoodsNum" /> | ||||||
|  |       <el-table-column label="状态" align="center" prop="status" /> | ||||||
|  |  | ||||||
|  |       <el-table-column label="备注" align="center" prop="couponNameRemark" /> | ||||||
|  |  | ||||||
|  |       <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> | ||||||
|  |  | ||||||
|  |         <template #scope> | ||||||
|  |           <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" | ||||||
|  |                      v-hasPermi="['CouponTemplete::update']">修改</el-button> | ||||||
|  |           <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" | ||||||
|  |                      v-hasPermi="['CouponTemplete::delete']">删除</el-button> | ||||||
|  |         </template> | ||||||
|  |       </el-table-column> | ||||||
|  |     </el-table> | ||||||
|  |     <!-- 分页组件 --> | ||||||
|  |     <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" | ||||||
|  |                 @pagination="getList"/> | ||||||
|  |  | ||||||
|  |     <!-- 对话框(添加 / 修改) --> | ||||||
|  |     <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> | ||||||
|  |       <el-form ref="form" :model="form" :rules="rules" label-width="150px"> | ||||||
|  |         <el-form-item label="优惠券类型" prop="type"> | ||||||
|  |           <el-select v-model="form.type" placeholder="请选择优惠券类型 reward-满减 discount-折扣 random-随机"> | ||||||
|  |             <el-option label="请选择字典生成" value="" /> | ||||||
|  |           </el-select> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="优惠券名称" prop="name"> | ||||||
|  |           <el-input v-model="form.name" placeholder="请输入优惠券名称" /> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="名称备注" prop="couponNameRemark"> | ||||||
|  |           <el-input v-model="form.couponNameRemark" placeholder="请输入名称备注" /> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="发放数量" prop="count"> | ||||||
|  |           <el-input v-model="form.count" placeholder="请输入发放数量" /> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="适用商品类型" prop="goodsType"> | ||||||
|  |           <el-radio-group v-model="form.goodsType"> | ||||||
|  |             <el-radio label="1">请选择字典生成</el-radio> | ||||||
|  |           </el-radio-group> | ||||||
|  |         </el-form-item> | ||||||
|  |       <!--        todo 请输入适用商品id--> | ||||||
|  |         <el-form-item label="适用商品id" prop="productIds"> | ||||||
|  |           <el-input v-model="form.productIds" placeholder="请输入适用商品id" /> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="使用门槛" prop="hasUseLimit"> | ||||||
|  |           <el-radio-group v-model="form.hasUseLimit"> | ||||||
|  |             <el-radio label="1">请选择字典生成</el-radio> | ||||||
|  |           </el-radio-group> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="满多少元使用" prop="atLeast"> | ||||||
|  |           <el-input v-model="form.atLeast" placeholder="请输入满多少元使用 0代表无限制" /> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="发放面额" prop="money"> | ||||||
|  |           <el-input v-model="form.money" placeholder="请输入发放面额 当type为reward时需要添加" /> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="1 =< 折扣 <= 9.9" prop="discount"> | ||||||
|  |           <el-input v-model="form.discount" placeholder="请输入1 =< 折扣 <= 9.9 当type为discount时需要添加" /> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="最多折扣金额" prop="discountLimit"> | ||||||
|  |           <el-input v-model="form.discountLimit" placeholder="请输入最多折扣金额 当type为discount时可选择性添加" /> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="最低金额" prop="minMoney"> | ||||||
|  |           <el-input v-model="form.minMoney" placeholder="请输入最低金额 当type为radom时需要添加" /> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="最大金额" prop="maxMoney"> | ||||||
|  |           <el-input v-model="form.maxMoney" placeholder="请输入最大金额 当type为radom时需要添加" /> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="过期类型" prop="validityType"> | ||||||
|  |           <el-radio-group v-model="form.validityType"> | ||||||
|  |             <el-radio label="1">请选择字典生成</el-radio> | ||||||
|  |           </el-radio-group> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="使用开始日期 过期类型1时必填" prop="startUseTime"> | ||||||
|  |           <el-date-picker clearable v-model="form.startUseTime" type="date" value-format="timestamp" placeholder="选择使用开始日期 过期类型1时必填" /> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="使用结束日期 过期类型1时必填" prop="endUseTime"> | ||||||
|  |           <el-date-picker clearable v-model="form.endUseTime" type="date" value-format="timestamp" placeholder="选择使用结束日期 过期类型1时必填" /> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="当validity_type为2或者3时需要添加 领取之日起或者次日N天内有效" prop="fixedTerm"> | ||||||
|  |           <el-input v-model="form.fixedTerm" placeholder="请输入当validity_type为2或者3时需要添加 领取之日起或者次日N天内有效" /> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="是否无限制0-否 1是" prop="whetherLimitless"> | ||||||
|  |           <el-radio-group v-model="form.whetherLimitless"> | ||||||
|  |             <el-radio label="1">请选择字典生成</el-radio> | ||||||
|  |           </el-radio-group> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="每人最大领取个数" prop="maxFetch"> | ||||||
|  |           <el-input v-model="form.maxFetch" placeholder="请输入每人最大领取个数" /> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="是否开启过期提醒0-不开启 1-开启" prop="whetherExpireNotice"> | ||||||
|  |           <el-radio-group v-model="form.whetherExpireNotice"> | ||||||
|  |             <el-radio label="1">请选择字典生成</el-radio> | ||||||
|  |           </el-radio-group> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="过期前N天提醒" prop="expireNoticeFixedTerm"> | ||||||
|  |           <el-input v-model="form.expireNoticeFixedTerm" placeholder="请输入过期前N天提醒" /> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="优惠叠加 0-不限制 1- 优惠券仅原价购买商品时可用" prop="whetherForbidPreference"> | ||||||
|  |           <el-radio-group v-model="form.whetherForbidPreference"> | ||||||
|  |             <el-radio label="1">请选择字典生成</el-radio> | ||||||
|  |           </el-radio-group> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="是否显示" prop="whetherShow"> | ||||||
|  |           <el-input v-model="form.whetherShow" placeholder="请输入是否显示" /> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="订单的优惠总金额" prop="discountOrderMoney"> | ||||||
|  |           <el-input v-model="form.discountOrderMoney" placeholder="请输入订单的优惠总金额" /> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="用券总成交额" prop="orderMoney"> | ||||||
|  |           <el-input v-model="form.orderMoney" placeholder="请输入用券总成交额" /> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="是否禁止发放0-否 1-是" prop="whetherForbidden"> | ||||||
|  |           <el-radio-group v-model="form.whetherForbidden"> | ||||||
|  |             <el-radio label="1">请选择字典生成</el-radio> | ||||||
|  |           </el-radio-group> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="使用优惠券购买的商品数量" prop="orderGoodsNum"> | ||||||
|  |           <el-input v-model="form.orderGoodsNum" placeholder="请输入使用优惠券购买的商品数量" /> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="状态" prop="status"> | ||||||
|  |           <el-radio-group v-model="form.status"> | ||||||
|  |             <el-radio label="1">请选择字典生成</el-radio> | ||||||
|  |           </el-radio-group> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="有效日期结束时间" prop="endTime"> | ||||||
|  |           <el-date-picker clearable v-model="form.endTime" type="date" value-format="timestamp" placeholder="选择有效日期结束时间" /> | ||||||
|  |         </el-form-item> | ||||||
|  |       </el-form> | ||||||
|  |       <div slot="footer" class="dialog-footer"> | ||||||
|  |         <el-button type="primary" @click="submitForm">确 定</el-button> | ||||||
|  |         <el-button @click="cancel">取 消</el-button> | ||||||
|  |       </div> | ||||||
|  |     </el-dialog> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  |  | ||||||
|  | <script> | ||||||
|  | import { create, update, deleteCouponTemplete, get, getPage, exportExcel } from "@/api/mall/CouponTemplete/CouponTemplete.js"; | ||||||
|  |  | ||||||
|  | export default { | ||||||
|  |   name: "", | ||||||
|  |   components: { | ||||||
|  |   }, | ||||||
|  |   data() { | ||||||
|  |     return { | ||||||
|  |       // 遮罩层 | ||||||
|  |       loading: true, | ||||||
|  |       // 导出遮罩层 | ||||||
|  |       exportLoading: false, | ||||||
|  |       // 显示搜索条件 | ||||||
|  |       showSearch: true, | ||||||
|  |       // 总条数 | ||||||
|  |       total: 0, | ||||||
|  |       // 优惠券模板列表 | ||||||
|  |       list: [], | ||||||
|  |       // 弹出层标题 | ||||||
|  |       title: "", | ||||||
|  |       // 是否显示弹出层 | ||||||
|  |       open: false, | ||||||
|  |       // 查询参数 | ||||||
|  |       queryParams: { | ||||||
|  |         pageNo: 1, | ||||||
|  |         pageSize: 10, | ||||||
|  |         type: null, | ||||||
|  |         name: null, | ||||||
|  |         couponNameRemark: null, | ||||||
|  |         image: null, | ||||||
|  |         count: null, | ||||||
|  |         leadCount: null, | ||||||
|  |         usedCount: null, | ||||||
|  |         goodsType: null, | ||||||
|  |         productIds: null, | ||||||
|  |         hasUseLimit: null, | ||||||
|  |         atLeast: null, | ||||||
|  |         money: null, | ||||||
|  |         discount: null, | ||||||
|  |         discountLimit: null, | ||||||
|  |         minMoney: null, | ||||||
|  |         maxMoney: null, | ||||||
|  |         validityType: null, | ||||||
|  |         startUseTime: [], | ||||||
|  |         endUseTime: [], | ||||||
|  |         fixedTerm: null, | ||||||
|  |         whetherLimitless: null, | ||||||
|  |         maxFetch: null, | ||||||
|  |         whetherExpireNotice: null, | ||||||
|  |         expireNoticeFixedTerm: null, | ||||||
|  |         whetherForbidPreference: null, | ||||||
|  |         whetherShow: null, | ||||||
|  |         discountOrderMoney: null, | ||||||
|  |         orderMoney: null, | ||||||
|  |         whetherForbidden: null, | ||||||
|  |         orderGoodsNum: null, | ||||||
|  |         status: null, | ||||||
|  |         endTime: [], | ||||||
|  |         createTime: [], | ||||||
|  |       }, | ||||||
|  |       // 表单参数 | ||||||
|  |       form: {}, | ||||||
|  |       // 表单校验 | ||||||
|  |       rules: { | ||||||
|  |         type: [{ required: true, message: "优惠券类型 reward-满减 discount-折扣 random-随机不能为空", trigger: "change" }], | ||||||
|  |         name: [{ required: true, message: "优惠券名称不能为空", trigger: "blur" }], | ||||||
|  |         count: [{ required: true, message: "发放数量不能为空", trigger: "blur" }], | ||||||
|  |         leadCount: [{ required: true, message: "已领取数量不能为空", trigger: "blur" }], | ||||||
|  |         usedCount: [{ required: true, message: "已使用数量不能为空", trigger: "blur" }], | ||||||
|  |         goodsType: [{ required: true, message: "适用商品类型1-全部商品可用;2-指定商品可用;3-指定商品不可用不能为空", trigger: "blur" }], | ||||||
|  |         hasUseLimit: [{ required: true, message: "使用门槛0-无门槛 1-有门槛不能为空", trigger: "blur" }], | ||||||
|  |         atLeast: [{ required: true, message: "满多少元使用 0代表无限制不能为空", trigger: "blur" }], | ||||||
|  |         money: [{ required: true, message: "发放面额 当type为reward时需要添加不能为空", trigger: "blur" }], | ||||||
|  |         discount: [{ required: true, message: "1 =< 折扣 <= 9.9 当type为discount时需要添加不能为空", trigger: "blur" }], | ||||||
|  |         discountLimit: [{ required: true, message: "最多折扣金额 当type为discount时可选择性添加不能为空", trigger: "blur" }], | ||||||
|  |         minMoney: [{ required: true, message: "最低金额 当type为radom时需要添加不能为空", trigger: "blur" }], | ||||||
|  |         maxMoney: [{ required: true, message: "最大金额 当type为radom时需要添加不能为空", trigger: "blur" }], | ||||||
|  |         validityType: [{ required: true, message: "过期类型1-时间范围过期 2-领取之日固定日期后过期 3-领取次日固定日期后过期不能为空", trigger: "blur" }], | ||||||
|  |         fixedTerm: [{ required: true, message: "当validity_type为2或者3时需要添加 领取之日起或者次日N天内有效不能为空", trigger: "blur" }], | ||||||
|  |         whetherLimitless: [{ required: true, message: "是否无限制0-否 1是不能为空", trigger: "blur" }], | ||||||
|  |         maxFetch: [{ required: true, message: "每人最大领取个数不能为空", trigger: "blur" }], | ||||||
|  |         whetherExpireNotice: [{ required: true, message: "是否开启过期提醒0-不开启 1-开启不能为空", trigger: "blur" }], | ||||||
|  |         expireNoticeFixedTerm: [{ required: true, message: "过期前N天提醒不能为空", trigger: "blur" }], | ||||||
|  |         whetherForbidPreference: [{ required: true, message: "优惠叠加 0-不限制 1- 优惠券仅原价购买商品时可用不能为空", trigger: "blur" }], | ||||||
|  |         whetherShow: [{ required: true, message: "是否显示不能为空", trigger: "blur" }], | ||||||
|  |         discountOrderMoney: [{ required: true, message: "订单的优惠总金额不能为空", trigger: "blur" }], | ||||||
|  |         orderMoney: [{ required: true, message: "用券总成交额不能为空", trigger: "blur" }], | ||||||
|  |         whetherForbidden: [{ required: true, message: "是否禁止发放0-否 1-是不能为空", trigger: "blur" }], | ||||||
|  |         orderGoodsNum: [{ required: true, message: "使用优惠券购买的商品数量不能为空", trigger: "blur" }], | ||||||
|  |         status: [{ required: true, message: "状态(1进行中2已结束-1已关闭)不能为空", trigger: "blur" }], | ||||||
|  |       } | ||||||
|  |     }; | ||||||
|  |   }, | ||||||
|  |   created() { | ||||||
|  |     this.getList(); | ||||||
|  |   }, | ||||||
|  |   methods: { | ||||||
|  |     /** 查询列表 */ | ||||||
|  |     getList() { | ||||||
|  |       this.loading = true; | ||||||
|  |       // 执行查询 | ||||||
|  |       getPage(this.queryParams).then(response => { | ||||||
|  |         this.list = response.data.list; | ||||||
|  |         this.total = response.data.total; | ||||||
|  |         this.loading = false; | ||||||
|  |       }); | ||||||
|  |     }, | ||||||
|  |     /** 取消按钮 */ | ||||||
|  |     cancel() { | ||||||
|  |       this.open = false; | ||||||
|  |       this.reset(); | ||||||
|  |     }, | ||||||
|  |     /** 表单重置 */ | ||||||
|  |     reset() { | ||||||
|  |       this.form = { | ||||||
|  |         id: undefined, | ||||||
|  |         type: undefined, | ||||||
|  |         name: undefined, | ||||||
|  |         couponNameRemark: undefined, | ||||||
|  |         image: undefined, | ||||||
|  |         count: undefined, | ||||||
|  |         leadCount: undefined, | ||||||
|  |         usedCount: undefined, | ||||||
|  |         goodsType: undefined, | ||||||
|  |         productIds: undefined, | ||||||
|  |         hasUseLimit: undefined, | ||||||
|  |         atLeast: undefined, | ||||||
|  |         money: undefined, | ||||||
|  |         discount: undefined, | ||||||
|  |         discountLimit: undefined, | ||||||
|  |         minMoney: undefined, | ||||||
|  |         maxMoney: undefined, | ||||||
|  |         validityType: undefined, | ||||||
|  |         startUseTime: undefined, | ||||||
|  |         endUseTime: undefined, | ||||||
|  |         fixedTerm: undefined, | ||||||
|  |         whetherLimitless: undefined, | ||||||
|  |         maxFetch: undefined, | ||||||
|  |         whetherExpireNotice: undefined, | ||||||
|  |         expireNoticeFixedTerm: undefined, | ||||||
|  |         whetherForbidPreference: undefined, | ||||||
|  |         whetherShow: undefined, | ||||||
|  |         discountOrderMoney: undefined, | ||||||
|  |         orderMoney: undefined, | ||||||
|  |         whetherForbidden: undefined, | ||||||
|  |         orderGoodsNum: undefined, | ||||||
|  |         status: undefined, | ||||||
|  |         endTime: undefined, | ||||||
|  |       }; | ||||||
|  |       this.resetForm("form"); | ||||||
|  |     }, | ||||||
|  |     /** 搜索按钮操作 */ | ||||||
|  |     handleQuery() { | ||||||
|  |       this.queryParams.pageNo = 1; | ||||||
|  |       this.getList(); | ||||||
|  |     }, | ||||||
|  |     /** 重置按钮操作 */ | ||||||
|  |     resetQuery() { | ||||||
|  |       this.resetForm("queryForm"); | ||||||
|  |       this.handleQuery(); | ||||||
|  |     }, | ||||||
|  |     /** 新增按钮操作 */ | ||||||
|  |     handleAdd() { | ||||||
|  |       this.reset(); | ||||||
|  |       this.open = true; | ||||||
|  |       this.title = "添加优惠券模板"; | ||||||
|  |     }, | ||||||
|  |     /** 修改按钮操作 */ | ||||||
|  |     handleUpdate(row) { | ||||||
|  |       this.reset(); | ||||||
|  |       const id = row.id; | ||||||
|  |       get(id).then(response => { | ||||||
|  |         this.form = response.data; | ||||||
|  |         this.open = true; | ||||||
|  |         this.title = "修改优惠券模板"; | ||||||
|  |       }); | ||||||
|  |     }, | ||||||
|  |     /** 提交按钮 */ | ||||||
|  |     submitForm() { | ||||||
|  |       this.$refs["form"].validate(valid => { | ||||||
|  |         if (!valid) { | ||||||
|  |           return; | ||||||
|  |         } | ||||||
|  |         // 修改的提交 | ||||||
|  |         if (this.form.id != null) { | ||||||
|  |           update(this.form).then(response => { | ||||||
|  |             this.$modal.msgSuccess("修改成功"); | ||||||
|  |             this.open = false; | ||||||
|  |             this.getList(); | ||||||
|  |           }); | ||||||
|  |           return; | ||||||
|  |         } | ||||||
|  |         // 添加的提交 | ||||||
|  |         create(this.form).then(response => { | ||||||
|  |           this.$modal.msgSuccess("新增成功"); | ||||||
|  |           this.open = false; | ||||||
|  |           this.getList(); | ||||||
|  |         }); | ||||||
|  |       }); | ||||||
|  |     }, | ||||||
|  |     /** 删除按钮操作 */ | ||||||
|  |     handleDelete(row) { | ||||||
|  |       const id = row.id; | ||||||
|  |       this.$modal.confirm('是否确认删除优惠券模板编号为"' + id + '"的数据项?').then(function() { | ||||||
|  |           return deleteCouponTemplete(id); | ||||||
|  |         }).then(() => { | ||||||
|  |           this.getList(); | ||||||
|  |           this.$modal.msgSuccess("删除成功"); | ||||||
|  |         }).catch(() => {}); | ||||||
|  |     }, | ||||||
|  |     /** 导出按钮操作 */ | ||||||
|  |     handleExport() { | ||||||
|  |       // 处理查询参数 | ||||||
|  |       let params = {...this.queryParams}; | ||||||
|  |       params.pageNo = undefined; | ||||||
|  |       params.pageSize = undefined; | ||||||
|  |       this.$modal.confirm('是否确认导出所有优惠券模板数据项?').then(() => { | ||||||
|  |           this.exportLoading = true; | ||||||
|  |           return exportExcel(params); | ||||||
|  |         }).then(response => { | ||||||
|  |           this.$download.excel(response, '优惠券模板.xls'); | ||||||
|  |           this.exportLoading = false; | ||||||
|  |         }).catch(() => {}); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | }; | ||||||
|  | </script> | ||||||
		Reference in New Issue
	
	Block a user
	 wuxiran
					wuxiran