优惠券

This commit is contained in:
admin
2024-07-05 22:54:24 +08:00
parent 59f8b17117
commit 73ec78d250
36 changed files with 1340 additions and 304 deletions

View File

@@ -1,79 +0,0 @@
package com.starry.admin.modules.coupon.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.starry.admin.modules.coupon.module.entity.CouponInfoEntity;
import com.starry.admin.modules.coupon.service.ICouponInfoService;
import com.starry.common.annotation.Log;
import com.starry.common.enums.BusinessType;
import com.starry.common.result.R;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
* 商品Controller
*
* @author admin
* @since 2024-03-22
*/
@RestController
@RequestMapping("/coupon/info")
public class CouponInfoController {
@Resource
private ICouponInfoService couponInfoService;
/**
* 查询商品列表
*/
@GetMapping("/list")
public R list(CouponInfoEntity couponInfo) {
IPage<CouponInfoEntity> list = couponInfoService.selectCouponInfoByPage(couponInfo);
return R.ok(list);
}
/**
* 获取商品详细信息
*/
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
return R.ok(couponInfoService.selectCouponInfoById(id));
}
/**
* 新增商品
*/
@Log(title = "商品", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@RequestBody CouponInfoEntity couponInfo) {
boolean success = couponInfoService.create(couponInfo);
if (success) {
return R.ok();
}
return R.error("添加失败");
}
/**
* 修改商品
*/
@Log(title = "商品", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update/{id}")
public R update(@PathVariable String id, @RequestBody CouponInfoEntity couponInfo) {
couponInfo.setId(id);
boolean success = couponInfoService.update(couponInfo);
if (success) {
return R.ok();
}
return R.error("修改失败");
}
/**
* 删除商品
*/
@Log(title = "商品", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R remove(@PathVariable String[] ids) {
return R.ok(couponInfoService.deleteCouponInfoByIds(ids));
}
}

View File

@@ -1,31 +0,0 @@
package com.starry.admin.modules.coupon.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.starry.admin.modules.coupon.module.entity.CouponInfoEntity;
import java.util.List;
/**
* 商品Mapper接口
*
* @author admin
* @since 2024-03-22
*/
public interface CouponInfoMapper extends BaseMapper<CouponInfoEntity> {
/**
* 查询商品
*
* @param id 商品主键
* @return 商品
*/
CouponInfoEntity selectCouponInfoById(String id);
/**
* 查询商品列表
*
* @param couponInfo 商品
* @return 商品集合
*/
List<CouponInfoEntity> selectCouponInfoList(CouponInfoEntity couponInfo);
}

View File

@@ -1,25 +0,0 @@
package com.starry.admin.modules.coupon.module.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.starry.common.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("coupon_info")
public class CouponInfoEntity extends BaseEntity<CouponInfoEntity> {
/**
* UUID
*/
private String id;
/**
* 价格
*/
private String money;
}

View File

@@ -1,61 +0,0 @@
package com.starry.admin.modules.coupon.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.starry.admin.modules.coupon.module.entity.CouponInfoEntity;
/**
* 商品Service接口
*
* @author admin
* @since 2024-03-22
*/
public interface ICouponInfoService extends IService<CouponInfoEntity> {
/**
* 查询商品
*
* @param id 商品主键
* @return 商品
*/
CouponInfoEntity selectCouponInfoById(String id);
/**
* 查询商品列表
*
* @param couponInfo 商品
* @return 商品集合
*/
IPage<CouponInfoEntity> selectCouponInfoByPage(CouponInfoEntity couponInfo);
/**
* 新增商品
*
* @param couponInfo 商品
* @return 结果
*/
boolean create(CouponInfoEntity couponInfo);
/**
* 修改商品
*
* @param couponInfo 商品
* @return 结果
*/
boolean update(CouponInfoEntity couponInfo);
/**
* 批量删除商品
*
* @param ids 需要删除的商品主键集合
* @return 结果
*/
int deleteCouponInfoByIds(String[] ids);
/**
* 删除商品信息
*
* @param id 商品主键
* @return 结果
*/
int deleteCouponInfoById(String id);
}

View File

@@ -1,92 +0,0 @@
package com.starry.admin.modules.coupon.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.starry.admin.modules.coupon.mapper.CouponInfoMapper;
import com.starry.admin.modules.coupon.module.entity.CouponInfoEntity;
import com.starry.admin.modules.coupon.service.ICouponInfoService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Arrays;
/**
* 商品Service业务层处理
*
* @author admin
* @since 2024-03-22
*/
@Service
public class CouponInfoServiceImpl extends ServiceImpl<CouponInfoMapper, CouponInfoEntity> implements ICouponInfoService {
@Resource
private CouponInfoMapper couponInfoMapper;
/**
* 查询商品
*
* @param id 商品主键
* @return 商品
*/
@Override
public CouponInfoEntity selectCouponInfoById(String id) {
return this.baseMapper.selectById(id);
}
/**
* 查询商品列表
*
* @param couponInfo 商品
* @return 商品
*/
@Override
public IPage<CouponInfoEntity> selectCouponInfoByPage(CouponInfoEntity couponInfo) {
Page<CouponInfoEntity> page = new Page<>(1, 10);
return this.baseMapper.selectPage(page, new LambdaQueryWrapper<CouponInfoEntity>());
}
/**
* 新增商品
*
* @param couponInfo 商品
* @return 结果
*/
@Override
public boolean create(CouponInfoEntity couponInfo) {
return save(couponInfo);
}
/**
* 修改商品
*
* @param couponInfo 商品
* @return 结果
*/
@Override
public boolean update(CouponInfoEntity couponInfo) {
return updateById(couponInfo);
}
/**
* 批量删除商品
*
* @param ids 需要删除的商品主键
* @return 结果
*/
@Override
public int deleteCouponInfoByIds(String[] ids) {
return couponInfoMapper.deleteBatchIds(Arrays.asList(ids));
}
/**
* 删除商品信息
*
* @param id 商品主键
* @return 结果
*/
@Override
public int deleteCouponInfoById(String id) {
return couponInfoMapper.deleteById(id);
}
}

View File

@@ -8,7 +8,7 @@ import javax.validation.constraints.NotBlank;
/** /**
* 管理员管理信息新增 * 管理员管理信息新增
* *
* @author 杭州世平信息科技有限公司-xuhq * @author admin
* @since 2024/6/14 14:45 * @since 2024/6/14 14:45
**/ **/
@Data @Data

View File

@@ -8,7 +8,7 @@ import javax.validation.constraints.NotBlank;
/** /**
* 管理员管理信息修改 * 管理员管理信息修改
* *
* @author 杭州世平信息科技有限公司-xuhq * @author admin
* @since 2024/6/14 14:45 * @since 2024/6/14 14:45
**/ **/
@Data @Data

View File

@@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
/** /**
* 管理员管理信息 * 管理员管理信息
* *
* @author 杭州世平信息科技有限公司-xuhq * @author admin
* @since 2024/6/14 14:45 * @since 2024/6/14 14:45
**/ **/
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

View File

@@ -11,7 +11,7 @@ import java.time.LocalDateTime;
/** /**
* 管理员管理信息 * 管理员管理信息
* *
* @author 杭州世平信息科技有限公司-xuhq * @author admin
* @since 2024/6/14 14:45 * @since 2024/6/14 14:45
**/ **/
@Data @Data

View File

@@ -8,7 +8,7 @@ import javax.validation.constraints.NotBlank;
/** /**
* 店员分组基本信息修改 * 店员分组基本信息修改
* *
* @author 杭州世平信息科技有限公司-xuhq * @author admin
* @since 2024/6/14 14:45 * @since 2024/6/14 14:45
**/ **/
@Data @Data

View File

@@ -8,7 +8,7 @@ import javax.validation.constraints.NotBlank;
/** /**
* 店员分组基本信息修改 * 店员分组基本信息修改
* *
* @author 杭州世平信息科技有限公司-xuhq * @author admin
* @since 2024/6/14 14:45 * @since 2024/6/14 14:45
**/ **/
@Data @Data

View File

@@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
/** /**
* 店员分组管理信息 * 店员分组管理信息
* *
* @author 杭州世平信息科技有限公司-xuhq * @author admin
* @since 2024/6/14 14:45 * @since 2024/6/14 14:45
**/ **/
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

View File

@@ -9,7 +9,7 @@ import java.time.LocalDateTime;
/** /**
* 店员分组管理信息 * 店员分组管理信息
* *
* @author 杭州世平信息科技有限公司-xuhq * @author admin
* @since 2024/6/14 14:45 * @since 2024/6/14 14:45
**/ **/
@Data @Data

View File

@@ -8,7 +8,7 @@ import javax.validation.constraints.NotBlank;
/** /**
* 客户基本信息修改 * 客户基本信息修改
* *
* @author 杭州世平信息科技有限公司-xuhq * @author admin
* @since 2024/6/14 14:45 * @since 2024/6/14 14:45
**/ **/
@Data @Data

View File

@@ -8,7 +8,7 @@ import javax.validation.constraints.NotBlank;
/** /**
* 客户基本信息修改 * 客户基本信息修改
* *
* @author 杭州世平信息科技有限公司-xuhq * @author admin
* @since 2024/6/14 14:45 * @since 2024/6/14 14:45
**/ **/
@Data @Data

View File

@@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
/** /**
* 客户管理信息 * 客户管理信息
* *
* @author 杭州世平信息科技有限公司-xuhq * @author admin
* @since 2024/6/14 14:45 * @since 2024/6/14 14:45
**/ **/
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

View File

@@ -9,7 +9,7 @@ import java.time.LocalDateTime;
/** /**
* 客户管理信息 * 客户管理信息
* *
* @author 杭州世平信息科技有限公司-xuhq * @author admin
* @since 2024/6/14 14:45 * @since 2024/6/14 14:45
**/ **/
@Data @Data

View File

@@ -37,7 +37,7 @@ public interface IPlayPersonnelGroupInfoService extends IService<PlayPersonnelGr
* 查询店员分组信息列表 * 查询店员分组信息列表
* *
* @return PlayPersonnelGroupInfoReturnVo * @return PlayPersonnelGroupInfoReturnVo
* @author 杭州世平信息科技有限公司-xuhq * @author admin
* @since 2024/6/14 15:46 * @since 2024/6/14 15:46
**/ **/
List<PlayPersonnelGroupInfoEntity> selectAll(); List<PlayPersonnelGroupInfoEntity> selectAll();
@@ -47,7 +47,7 @@ public interface IPlayPersonnelGroupInfoService extends IService<PlayPersonnelGr
* *
* @param vo 查询店员分组信息查询对象 * @param vo 查询店员分组信息查询对象
* @return PlayPersonnelGroupInfoReturnVo * @return PlayPersonnelGroupInfoReturnVo
* @author 杭州世平信息科技有限公司-xuhq * @author admin
* @since 2024/6/14 15:46 * @since 2024/6/14 15:46
**/ **/
IPage<PlayPersonnelGroupInfoReturnVo> selectByPage(PlayPersonnelGroupInfoQueryVo vo); IPage<PlayPersonnelGroupInfoReturnVo> selectByPage(PlayPersonnelGroupInfoQueryVo vo);

View File

@@ -0,0 +1,102 @@
package com.starry.admin.modules.shop.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.starry.admin.modules.shop.module.entity.PlayCouponDetailsEntity;
import com.starry.admin.modules.shop.module.vo.PlayCouponDetailsQueryVo;
import com.starry.admin.modules.shop.module.vo.PlayCouponDetailsUpdateUseStateVo;
import com.starry.admin.modules.shop.service.IPlayCouponDetailsService;
import com.starry.common.annotation.Log;
import com.starry.common.enums.BusinessType;
import com.starry.common.result.R;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
* 优惠券详情Controller
*
* @author admin
* @since 2024-07-04
*/
@RestController
@RequestMapping("/shop/couponRecord")
public class PlayCouponDetailsController {
@Resource
private IPlayCouponDetailsService playCouponDetailsService;
/**
* 查询优惠券详情列表
*/
// @PreAuthorize("@customSs.hasPermission('shop:couponDetails:list')")
@PostMapping("/listByPage")
public R listByPage(PlayCouponDetailsQueryVo vo) {
IPage<PlayCouponDetailsEntity> list = playCouponDetailsService.selectByPage(vo);
return R.ok(list);
}
/**
* 获取优惠券详情详细信息
*/
// @PreAuthorize("@customSs.hasPermission('shop:couponDetails:query')")
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
return R.ok(playCouponDetailsService.selectPlayCouponDetailsById(id));
}
/**
* 新增优惠券详情
*/
// @PreAuthorize("@customSs.hasPermission('shop:couponDetails:create')")
@Log(title = "优惠券详情", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@RequestBody PlayCouponDetailsEntity playCouponDetails) {
boolean success = playCouponDetailsService.create(playCouponDetails);
if (success) {
return R.ok();
}
return R.error("添加失败");
}
/**
* 更新优惠券使用状态
*
* @param vo 优惠券实体信息
* @since 2024/7/4 17:15
**/
@PostMapping("/updateUseState")
public R update(PlayCouponDetailsUpdateUseStateVo vo) {
for (String couponId : vo.getCouponIds()) {
PlayCouponDetailsEntity entity = playCouponDetailsService.selectPlayCouponDetailsById(couponId);
entity.setUseState(vo.getUseState());
playCouponDetailsService.update(entity);
}
return R.ok();
}
/**
* 修改优惠券详情
*/
// @PreAuthorize("@customSs.hasPermission('shop:couponDetails:edit')")
@Log(title = "优惠券详情", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update/{id}")
public R update(@PathVariable String id, @RequestBody PlayCouponDetailsEntity playCouponDetails) {
playCouponDetails.setId(id);
boolean success = playCouponDetailsService.update(playCouponDetails);
if (success) {
return R.ok();
}
return R.error("修改失败");
}
/**
* 删除优惠券详情
*/
// @PreAuthorize("@customSs.hasPermission('shop:couponDetails:remove')")
@Log(title = "优惠券详情", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R remove(@PathVariable String[] ids) {
return R.ok(playCouponDetailsService.deletePlayCouponDetailsByIds(ids));
}
}

View File

@@ -0,0 +1,106 @@
package com.starry.admin.modules.shop.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.starry.admin.common.exception.CustomException;
import com.starry.admin.modules.shop.module.entity.PlayCouponInfoEntity;
import com.starry.admin.modules.shop.module.vo.PlayCouponInfoAddVo;
import com.starry.admin.modules.shop.module.vo.PlayCouponInfoQueryVo;
import com.starry.admin.modules.shop.module.vo.PlayCouponInfoReturnVo;
import com.starry.admin.modules.shop.service.IPlayCouponInfoService;
import com.starry.common.annotation.Log;
import com.starry.common.enums.BusinessType;
import com.starry.common.result.R;
import com.starry.common.utils.ConvertUtil;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.time.LocalDateTime;
/**
* 优惠券信息Controller
*
* @author admin
* @since 2024-07-04
*/
@RestController
@RequestMapping("/shop/coupon")
public class PlayCouponInfoController {
@Resource
private IPlayCouponInfoService playCouponInfoService;
/**
* 查询优惠券信息列表
*/
// @PreAuthorize("@customSs.hasPermission('shop:coupon:list')")
@PostMapping("/listByPage")
public R list(PlayCouponInfoQueryVo vo) {
IPage<PlayCouponInfoReturnVo> list = playCouponInfoService.selectByPage(vo);
return R.ok(list);
}
/**
* 获取优惠券信息详细信息
*/
// @PreAuthorize("@customSs.hasPermission('shop:coupon:query')")
@GetMapping(value = "/{id}")
public R getInfo(@PathVariable("id") String id) {
return R.ok(playCouponInfoService.selectPlayCouponInfoById(id));
}
/**
* 新增优惠券信息
*/
// @PreAuthorize("@customSs.hasPermission('shop:coupon:create')")
@Log(title = "优惠券信息", businessType = BusinessType.INSERT)
@PostMapping("/create")
public R create(@RequestBody PlayCouponInfoAddVo vo) {
PlayCouponInfoEntity entity = ConvertUtil.entityToVo(vo, PlayCouponInfoEntity.class);
if ("1".equals(vo.getValidityPeriodType())) {
if (vo.getProductiveTime() == null || vo.getProductiveTime().size() != 2) {
throw new CustomException("用券时间输入错误");
}
LocalDateTime startTime = LocalDateTime.parse(vo.getProductiveTime().get(0));
LocalDateTime endTime = LocalDateTime.parse(vo.getProductiveTime().get(1));
if (endTime.isBefore(startTime)) {
throw new CustomException("用券时间输入错误,结束时间大于开始时间");
}
entity.setProductiveTime(startTime);
entity.setExpirationTime(endTime);
}
if ("2".equals(vo.getValidityPeriodType()) && vo.getEffectiveDay() <= 0) {
throw new CustomException("用券时间输入错误有效天数不能为0");
}
boolean success = playCouponInfoService.create(entity);
if (success) {
return R.ok();
}
return R.error("添加失败");
}
/**
* 修改优惠券信息
*/
// @PreAuthorize("@customSs.hasPermission('shop:coupon:edit')")
@Log(title = "优惠券信息", businessType = BusinessType.UPDATE)
@PostMapping(value = "/update/{id}")
public R update(@PathVariable String id, @RequestBody PlayCouponInfoEntity playCouponInfo) {
playCouponInfo.setId(id);
boolean success = playCouponInfoService.update(playCouponInfo);
if (success) {
return R.ok();
}
return R.error("修改失败");
}
/**
* 删除优惠券信息
*/
// @PreAuthorize("@customSs.hasPermission('shop:coupon:remove')")
@Log(title = "优惠券信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R remove(@PathVariable String[] ids) {
return R.ok(playCouponInfoService.deletePlayCouponInfoByIds(ids));
}
}

View File

@@ -0,0 +1,16 @@
package com.starry.admin.modules.shop.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.starry.admin.modules.shop.module.entity.PlayCouponDetailsEntity;
/**
* 优惠券详情Mapper接口
*
* @author admin
* @since 2024-07-04
*/
public interface PlayCouponDetailsMapper extends MPJBaseMapper<PlayCouponDetailsEntity> {
}

View File

@@ -0,0 +1,16 @@
package com.starry.admin.modules.shop.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.starry.admin.modules.shop.module.entity.PlayCouponInfoEntity;
/**
* 优惠券信息Mapper接口
*
* @author admin
* @since 2024-07-04
*/
public interface PlayCouponInfoMapper extends MPJBaseMapper<PlayCouponInfoEntity> {
}

View File

@@ -0,0 +1,108 @@
package com.starry.admin.modules.shop.module.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.starry.common.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 优惠券详情对象 play_coupon_details
*
* @author admin
* @since 2024-07-04
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("play_coupon_details")
public class PlayCouponDetailsEntity extends BaseEntity<PlayCouponDetailsEntity> {
/**
* UUID
*/
private String id;
/**
* 租户ID
*/
private String tenantId;
/**
* 顾客ID
*/
private String customId;
/**
* 顾客昵称
*/
private String customNickname;
/**
* 顾客等级ID
*/
private String customLevelId;
/**
* 优惠券名称
*/
private String couponId;
/**
* 获得渠道1:自主领取;2:后台发放;3:退款返还;4:分享领取;5:抽奖获得)
*/
private String obtainingChannels;
/**
* 优惠券使用状态(1:未使用;2:已使用;3:已回收)
*/
private String useState;
/**
* 优惠类型0:满减;1:折扣)
*/
private String discountType;
/**
* 优惠内容,文字展示
*/
private String discountContent;
/**
* 折扣值
*/
private BigDecimal discountAmount;
/**
* 有效期类型0:永久有效;1:临时有效)
*/
private String validityPeriodType;
/**
* 到期时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime expirationTime;
/**
* 获得时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime obtainingTime;
/**
* 使用时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime useTime;
}

View File

@@ -0,0 +1,150 @@
package com.starry.admin.modules.shop.module.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.starry.admin.common.conf.StringTypeHandler;
import com.starry.common.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
* 优惠券信息对象 play_coupon_info
*
* @author admin
* @since 2024-07-04
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "play_coupon_info", autoResultMap = true)
public class PlayCouponInfoEntity extends BaseEntity<PlayCouponInfoEntity> {
/**
* UUID
*/
private String id;
/**
* 优惠券名称
**/
private String couponName;
/**
* 租户ID
*/
private String tenantId;
/**
* 有效期类型0:永久有效;1:固定时间内有效;2:领取后几天内有效)
*/
private String validityPeriodType;
/**
* 生效时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime productiveTime;
/**
* 到期时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime expirationTime;
/**
* 生效时长,validityPeriodType=2时有效
**/
private Integer effectiveDay;
/**
* 使用优惠券最近消费金额
**/
private BigDecimal useMinAmount;
/**
* 优惠类型0:满减;1:折扣)
*/
private String discountType;
/**
* 优惠内容,文字展示
*/
private String discountContent;
/**
* 折扣值
*/
private BigDecimal discountAmount;
/**
* 优惠金额是否由店铺承担0:不是;1:是)
*/
private String attributionDiscounts;
/**
* 下单类型0指定单1随机单。2打赏单
*/
@TableField(typeHandler = StringTypeHandler.class)
private List<String> placeType;
/**
* 店员范围0:所有店员)
*/
private String clerkType;
/**
* 优惠券总数
*/
private Integer couponQuantity;
/**
* 已发放数量
*/
private Integer issuedQuantity;
/**
* 剩余数量
*/
private Integer remainingQuantity;
/**
* 店员获得最大数量
*/
private Integer clerkObtainedMaxQuantity;
/**
* 领取条件类型0:所有人可领取,1:指定条件领取)
*/
private String claimConditionType;
/**
* 顾客等级
*/
@TableField(typeHandler = StringTypeHandler.class)
private List<String> customLevel;
/**
* 顾客关注公众号状态(0:未关注,1:已关注)
*/
private String customFollowStatus;
/**
* 顾客性别0:未知;1:男,2:女)
*/
@TableField(typeHandler = StringTypeHandler.class)
private List<String> customSex;
/**
* 仅限新用户领取0:不是;1:是)(没有下过单的用户,下单后再退单也不算)
*/
private String isNewUser;
}

View File

@@ -0,0 +1,54 @@
package com.starry.admin.modules.shop.module.vo;
import com.starry.common.domain.BasePageEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/**
* 优惠券详情查询接口
*
* @author admin
* @since 2024/7/4 16:53
**/
@EqualsAndHashCode(callSuper = true)
@Data
public class PlayCouponDetailsQueryVo extends BasePageEntity {
/**
* 优惠券ID
**/
private String couponId;
/**
* 用户ID
**/
private String customId;
/**
* 获得渠道1:自主领取;2:后台发放;3:退款返还;4:分享领取;5:抽奖获得)
*/
private String obtainingChannels;
/**
* 使用状态1:未使用;2:已使用;3:已回收)
*/
private String useState;
/**
* 使用时间
*/
private List<String> useTime;
/**
* 获得时间
*/
private List<String> obtainingTime;
/**
* 用户等级
*/
private List<String> customLevelId;
}

View File

@@ -0,0 +1,34 @@
package com.starry.admin.modules.shop.module.vo;
import lombok.Data;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.util.List;
/**
* 更新优惠券使用状态
*
* @author admin
* @since 2024/7/4 16:53
**/
@Data
public class PlayCouponDetailsUpdateUseStateVo {
/**
* 优惠券ID
**/
@NotNull(message = "优惠券ID不能为空")
@Size(min = 1, message = "优惠券ID不能为空")
private List<String> couponIds;
/**
* 优惠券使用状态(1:未使用;2:已使用;3:已回收)
*/
@NotNull(message = "优惠券使用状态不能为空")
@Pattern(regexp = "[0|1]", message = "店员范围只能为0或者1")
private String useState;
}

View File

@@ -0,0 +1,138 @@
package com.starry.admin.modules.shop.module.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.starry.admin.common.conf.StringTypeHandler;
import lombok.Data;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.math.BigDecimal;
import java.util.List;
/**
* 优惠券信息新增实体
*
* @author admin
* @since 2024/7/4 15:26
**/
@Data
public class PlayCouponInfoAddVo {
/**
* 优惠券名称
*/
@NotNull(message = "优惠券名称不能为空")
private String couponName;
/**
* 有效期类型0:永久有效;1:固定时间内有效;2:领取后几天内有效)
*/
@NotNull(message = "有效期类型不能为空")
@Pattern(regexp = "[012]", message = "有效期类型只能为0或1或2")
private String validityPeriodType;
/**
* 生效时间
*/
private List<String> productiveTime;
/**
* 生效时长,validityPeriodType=2时有效
**/
private Integer effectiveDay;
/**
* 使用优惠券最近消费金额
**/
@NotNull(message = "使用优惠券最近消费金额不能为空")
private BigDecimal useMinAmount = BigDecimal.ZERO;
/**
* 优惠类型0:满减;1:折扣)
*/
@NotNull(message = "优惠类型不能为空")
@Pattern(regexp = "[01]", message = "优惠类型只能为0或1")
private String discountType;
/**
* 优惠内容,文字展示
*/
private String discountContent;
/**
* 折扣值
*/
@NotNull(message = "优惠类型不能为空")
private BigDecimal discountAmount;
/**
* 优惠金额是否由店铺承担0:不是;1:是)
*/
@NotNull(message = "优惠金额是否由店铺承担不能为空")
@Pattern(regexp = "[01]", message = "优惠金额是否由店铺承担只能为0或1")
private String attributionDiscounts;
/**
* 下单类型0指定单1随机单。2打赏单
*/
@NotNull(message = "订单类型不能为空")
@Pattern(regexp = "[01]", message = "订单类型只能为0或1")
private String placeType;
/**
* 店员范围0:所有店员)
*/
@NotNull(message = "店员范围不能为空")
@Pattern(regexp = "[0]", message = "店员范围只能为0")
private String clerkType;
/**
* 优惠券总数(-1表示不限制数量
*/
@NotNull(message = "优惠券总数不能为空")
private Integer couponQuantity;
/**
* 已发放数量
*/
private Integer issuedQuantity;
/**
* 剩余数量
*/
private Integer remainingQuantity;
/**
* 店员获得最大数量
*/
@NotNull(message = " 店员获得最大数量不能为空")
private Integer clerkObtainedMaxQuantity;
/**
* 领取条件类型0:所有人可领取,1:指定条件领取)
*/
@NotNull(message = "领取条件类型不能为空")
@Pattern(regexp = "[0|1]", message = "店员范围只能为0或者1")
private String claimConditionType;
/**
* 顾客等级
*/
@TableField(typeHandler = StringTypeHandler.class)
private List<String> customLevel;
/**
* 顾客关注公众号状态(0:未关注,1:已关注)
*/
private String customFollowStatus;
/**
* 顾客性别0:未知;1:男,2:女)
*/
private String customSex;
/**
* 仅限新用户领取0:不是;1:是)(没有下过单的用户,下单后再退单也不算)
*/
private String isNewUser;
}

View File

@@ -0,0 +1,18 @@
package com.starry.admin.modules.shop.module.vo;
import com.starry.common.domain.BasePageEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 优惠券信息查询实体
*
* @author admin
* @since 2024/7/4 15:26
**/
@EqualsAndHashCode(callSuper = true)
@Data
public class PlayCouponInfoQueryVo extends BasePageEntity {
}

View File

@@ -0,0 +1,140 @@
package com.starry.admin.modules.shop.module.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.starry.admin.common.conf.StringTypeHandler;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
* 优惠券信息查询返回
*
* @author admin
* @since 2024/7/4 15:26
**/
@Data
public class PlayCouponInfoReturnVo {
/**
* UUID
*/
private String id;
/**
* 优惠券名称
**/
private String couponName;
/**
* 有效期类型0:永久有效;1:固定时间内有效;2:领取后几天内有效)
*/
private String validityPeriodType;
/**
* 生效时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private LocalDateTime productiveTime;
/**
* 到期时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private LocalDateTime expirationTime;
/**
* 生效时长,validityPeriodType=2时有效
**/
private Integer effectiveDay;
/**
* 使用优惠券最近消费金额
**/
private BigDecimal useMinAmount;
/**
* 优惠类型0:满减;1:折扣)
*/
private String discountType;
/**
* 优惠内容,文字展示
*/
private String discountContent;
/**
* 折扣值
*/
private BigDecimal discountAmount;
/**
* 优惠金额是否由店铺承担0:不是;1:是)
*/
private String attributionDiscounts;
/**
* 下单类型0指定单1随机单。2打赏单
*/
@TableField(typeHandler = StringTypeHandler.class)
private List<String> placeType;
/**
* 店员范围0:所有店员)
*/
private String clerkType;
/**
* 优惠券总数
*/
private Integer couponQuantity;
/**
* 已发放数量
*/
private Integer issuedQuantity;
/**
* 剩余数量
*/
private Integer remainingQuantity;
/**
* 店员获得最大数量
*/
private Integer clerkObtainedMaxQuantity;
/**
* 领取条件类型0:所有人可领取,1:指定条件领取)
*/
private String claimConditionType;
/**
* 顾客等级
*/
@TableField(typeHandler = StringTypeHandler.class)
private List<String> customLevel;
/**
* 顾客关注公众号状态(0:未关注,1:已关注)
*/
private String customFollowStatus;
/**
* 顾客性别0:未知;1:男,2:女)
*/
@TableField(typeHandler = StringTypeHandler.class)
private List<String> customSex;
/**
* 仅限新用户领取0:不是;1:是)(没有下过单的用户,下单后再退单也不算)
*/
private String isNewUser;
}

View File

@@ -0,0 +1,84 @@
package com.starry.admin.modules.shop.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.starry.admin.modules.shop.module.entity.PlayCouponDetailsEntity;
import com.starry.admin.modules.shop.module.vo.PlayCouponDetailsQueryVo;
import java.util.List;
/**
* 优惠券详情Service接口
*
* @author admin
* @since 2024-07-04
*/
public interface IPlayCouponDetailsService extends IService<PlayCouponDetailsEntity> {
/**
* 查询优惠券详情
*
* @param id 优惠券详情主键
* @return 优惠券详情
*/
PlayCouponDetailsEntity selectPlayCouponDetailsById(String id);
/**
* 查询优惠券详情列表
*
* @param vo 优惠券详情
* @return 优惠券详情集合
*/
IPage<PlayCouponDetailsEntity> selectByPage(PlayCouponDetailsQueryVo vo);
/**
* 查询优惠券详情列表
*
* @param playCouponDetails 优惠券详情
* @return 优惠券详情集合
*/
IPage<PlayCouponDetailsEntity> selectPlayCouponDetailsByPage(PlayCouponDetailsEntity playCouponDetails);
/**
* 根据顾客ID查询当前顾客优惠券列表
*
* @param customId 顾客ID
* @param canBeUsed 是否可以被使用
* @return List<com.starry.admin.modules.shop.module.entity.PlayCouponDetailsEntity>
* @author 杭州世平信息科技有限公司-xuhq
* @since 2024/7/5 11:37
**/
List<PlayCouponDetailsEntity> selectByCustomId(String customId, boolean canBeUsed);
/**
* 新增优惠券详情
*
* @param playCouponDetails 优惠券详情
* @return 结果
*/
boolean create(PlayCouponDetailsEntity playCouponDetails);
/**
* 修改优惠券详情
*
* @param playCouponDetails 优惠券详情
* @return 结果
*/
boolean update(PlayCouponDetailsEntity playCouponDetails);
/**
* 批量删除优惠券详情
*
* @param ids 需要删除的优惠券详情主键集合
* @return 结果
*/
int deletePlayCouponDetailsByIds(String[] ids);
/**
* 删除优惠券详情信息
*
* @param id 优惠券详情主键
* @return 结果
*/
int deletePlayCouponDetailsById(String id);
}

View File

@@ -0,0 +1,72 @@
package com.starry.admin.modules.shop.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.starry.admin.modules.shop.module.entity.PlayCouponInfoEntity;
import com.starry.admin.modules.shop.module.vo.PlayCouponInfoQueryVo;
import com.starry.admin.modules.shop.module.vo.PlayCouponInfoReturnVo;
/**
* 优惠券信息Service接口
*
* @author admin
* @since 2024-07-04
*/
public interface IPlayCouponInfoService extends IService<PlayCouponInfoEntity> {
/**
* 查询优惠券信息
*
* @param id 优惠券信息主键
* @return 优惠券信息
*/
PlayCouponInfoEntity selectPlayCouponInfoById(String id);
/**
* 查询优惠券信息列表
*
* @param vo 优惠券分页查询实体
* @return 优惠券信息集合
*/
IPage<PlayCouponInfoReturnVo> selectByPage(PlayCouponInfoQueryVo vo);
/**
* 查询优惠券信息列表
*
* @param playCouponInfo 优惠券信息
* @return 优惠券信息集合
*/
IPage<PlayCouponInfoEntity> selectPlayCouponInfoByPage(PlayCouponInfoEntity playCouponInfo);
/**
* 新增优惠券信息
*
* @param playCouponInfo 优惠券信息
* @return 结果
*/
boolean create(PlayCouponInfoEntity playCouponInfo);
/**
* 修改优惠券信息
*
* @param playCouponInfo 优惠券信息
* @return 结果
*/
boolean update(PlayCouponInfoEntity playCouponInfo);
/**
* 批量删除优惠券信息
*
* @param ids 需要删除的优惠券信息主键集合
* @return 结果
*/
int deletePlayCouponInfoByIds(String[] ids);
/**
* 删除优惠券信息信息
*
* @param id 优惠券信息主键
* @return 结果
*/
int deletePlayCouponInfoById(String id);
}

View File

@@ -0,0 +1,135 @@
package com.starry.admin.modules.shop.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.starry.admin.modules.shop.mapper.PlayCouponDetailsMapper;
import com.starry.admin.modules.shop.module.entity.PlayCouponDetailsEntity;
import com.starry.admin.modules.shop.module.vo.PlayCouponDetailsQueryVo;
import com.starry.admin.modules.shop.service.IPlayCouponDetailsService;
import com.starry.common.utils.IdUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
/**
* 优惠券详情Service业务层处理
*
* @author admin
* @since 2024-07-04
*/
@Service
public class PlayCouponDetailsServiceImpl extends ServiceImpl<PlayCouponDetailsMapper, PlayCouponDetailsEntity> implements IPlayCouponDetailsService {
@Resource
private PlayCouponDetailsMapper playCouponDetailsMapper;
/**
* 查询优惠券详情
*
* @param id 优惠券详情主键
* @return 优惠券详情
*/
@Override
public PlayCouponDetailsEntity selectPlayCouponDetailsById(String id) {
return this.baseMapper.selectById(id);
}
@Override
public IPage<PlayCouponDetailsEntity> selectByPage(PlayCouponDetailsQueryVo vo) {
MPJLambdaWrapper<PlayCouponDetailsEntity> lambdaWrapper = new MPJLambdaWrapper<>();
if (StrUtil.isNotBlank(vo.getCouponId())) {
lambdaWrapper.eq(PlayCouponDetailsEntity::getCouponId, vo.getCouponId());
}
if (StrUtil.isNotBlank(vo.getCustomId())) {
lambdaWrapper.eq(PlayCouponDetailsEntity::getCustomId, vo.getCustomId());
}
if (StrUtil.isNotBlank(vo.getUseState())) {
lambdaWrapper.eq(PlayCouponDetailsEntity::getUseState, vo.getUseState());
}
if (StrUtil.isNotBlank(vo.getObtainingChannels())) {
lambdaWrapper.eq(PlayCouponDetailsEntity::getObtainingChannels, vo.getObtainingChannels());
}
if (vo.getObtainingTime() != null && vo.getObtainingTime().size() == 2) {
lambdaWrapper.between(PlayCouponDetailsEntity::getObtainingTime, vo.getObtainingTime().get(0), vo.getObtainingTime().get(1));
}
if (vo.getUseTime() != null && vo.getUseTime().size() == 2) {
lambdaWrapper.between(PlayCouponDetailsEntity::getUseTime, vo.getUseTime().get(0), vo.getUseTime().get(1));
}
if (!vo.getCustomLevelId().isEmpty()) {
lambdaWrapper.in(PlayCouponDetailsEntity::getCustomLevelId, vo.getCustomLevelId());
}
return this.baseMapper.selectJoinPage(new Page<>(vo.getPageNum(), vo.getPageSize()), PlayCouponDetailsEntity.class, lambdaWrapper);
}
/**
* 查询优惠券详情列表
*
* @param playCouponDetails 优惠券详情
* @return 优惠券详情
*/
@Override
public IPage<PlayCouponDetailsEntity> selectPlayCouponDetailsByPage(PlayCouponDetailsEntity playCouponDetails) {
Page<PlayCouponDetailsEntity> page = new Page<>(1, 10);
return this.baseMapper.selectPage(page, new LambdaQueryWrapper<PlayCouponDetailsEntity>());
}
/**
* 新增优惠券详情
*
* @param playCouponDetails 优惠券详情
* @return 结果
*/
@Override
public boolean create(PlayCouponDetailsEntity playCouponDetails) {
if (StrUtil.isBlankIfStr(playCouponDetails.getId())) {
playCouponDetails.setId(IdUtils.getUuid());
}
return save(playCouponDetails);
}
@Override
public List<PlayCouponDetailsEntity> selectByCustomId(String customId, boolean canBeUsed) {
MPJLambdaWrapper<PlayCouponDetailsEntity> lambdaWrapper = new MPJLambdaWrapper<>();
lambdaWrapper.eq(PlayCouponDetailsEntity::getCustomId, customId);
}
/**
* 修改优惠券详情
*
* @param playCouponDetails 优惠券详情
* @return 结果
*/
@Override
public boolean update(PlayCouponDetailsEntity playCouponDetails) {
return updateById(playCouponDetails);
}
/**
* 批量删除优惠券详情
*
* @param ids 需要删除的优惠券详情主键
* @return 结果
*/
@Override
public int deletePlayCouponDetailsByIds(String[] ids) {
return playCouponDetailsMapper.deleteBatchIds(Arrays.asList(ids));
}
/**
* 删除优惠券详情信息
*
* @param id 优惠券详情主键
* @return 结果
*/
@Override
public int deletePlayCouponDetailsById(String id) {
return playCouponDetailsMapper.deleteById(id);
}
}

View File

@@ -0,0 +1,108 @@
package com.starry.admin.modules.shop.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.starry.admin.modules.shop.mapper.PlayCouponInfoMapper;
import com.starry.admin.modules.shop.module.entity.PlayCouponInfoEntity;
import com.starry.admin.modules.shop.module.vo.PlayCouponInfoQueryVo;
import com.starry.admin.modules.shop.module.vo.PlayCouponInfoReturnVo;
import com.starry.admin.modules.shop.service.IPlayCouponInfoService;
import com.starry.common.utils.IdUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Arrays;
/**
* 优惠券信息Service业务层处理
*
* @author admin
* @since 2024-07-04
*/
@Service
public class PlayCouponInfoServiceImpl extends ServiceImpl<PlayCouponInfoMapper, PlayCouponInfoEntity> implements IPlayCouponInfoService {
@Resource
private PlayCouponInfoMapper playCouponInfoMapper;
/**
* 查询优惠券信息
*
* @param id 优惠券信息主键
* @return 优惠券信息
*/
@Override
public PlayCouponInfoEntity selectPlayCouponInfoById(String id) {
return this.baseMapper.selectById(id);
}
@Override
public IPage<PlayCouponInfoReturnVo> selectByPage(PlayCouponInfoQueryVo vo) {
MPJLambdaWrapper<PlayCouponInfoEntity> lambdaQueryWrapper = new MPJLambdaWrapper<>();
lambdaQueryWrapper.selectAll(PlayCouponInfoEntity.class);
return this.baseMapper.selectJoinPage(new Page<>(vo.getPageNum(), vo.getPageSize()), PlayCouponInfoReturnVo.class, lambdaQueryWrapper);
}
/**
* 查询优惠券信息列表
*
* @param playCouponInfo 优惠券信息
* @return 优惠券信息
*/
@Override
public IPage<PlayCouponInfoEntity> selectPlayCouponInfoByPage(PlayCouponInfoEntity playCouponInfo) {
Page<PlayCouponInfoEntity> page = new Page<>(1, 10);
return this.baseMapper.selectPage(page, new LambdaQueryWrapper<PlayCouponInfoEntity>());
}
/**
* 新增优惠券信息
*
* @param playCouponInfo 优惠券信息
* @return 结果
*/
@Override
public boolean create(PlayCouponInfoEntity playCouponInfo) {
if (StrUtil.isBlankIfStr(playCouponInfo.getId())) {
playCouponInfo.setId(IdUtils.getUuid());
}
return save(playCouponInfo);
}
/**
* 修改优惠券信息
*
* @param playCouponInfo 优惠券信息
* @return 结果
*/
@Override
public boolean update(PlayCouponInfoEntity playCouponInfo) {
return updateById(playCouponInfo);
}
/**
* 批量删除优惠券信息
*
* @param ids 需要删除的优惠券信息主键
* @return 结果
*/
@Override
public int deletePlayCouponInfoByIds(String[] ids) {
return playCouponInfoMapper.deleteBatchIds(Arrays.asList(ids));
}
/**
* 删除优惠券信息信息
*
* @param id 优惠券信息主键
* @return 结果
*/
@Override
public int deletePlayCouponInfoById(String id) {
return playCouponInfoMapper.deleteById(id);
}
}

View File

@@ -0,0 +1,43 @@
package com.starry.admin.modules.weichat.controller;
import com.starry.admin.common.aspect.CustomUserLogin;
import com.starry.admin.modules.shop.service.IPlayCouponDetailsService;
import com.starry.common.result.R;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @author admin
* @since 2024/7/4 11:33
**/
@Slf4j
@RestController
@RequestMapping("/wx/coupon/")
public class WxCouponController {
@Resource
IPlayCouponDetailsService couponDetailsService;
/**
* 顾客查询本人优惠券列表
*/
@CustomUserLogin
@GetMapping("/custom/queryAll")
public R queryAll() {
// couponDetailsService.selectByPage()
// List<PlayCustomLevelInfoEntity> list = levelInfoService.selectAll();
// List<PlayCustomLevelInfoReturnVo> result = new ArrayList<>();
// for (PlayCustomLevelInfoEntity entity : list) {
// PlayCustomLevelInfoReturnVo vo = new PlayCustomLevelInfoReturnVo();
// BeanUtils.copyProperties(entity, vo);
// result.add(vo);
// }
return R.ok("");
}
}

View File

@@ -30,7 +30,7 @@ public class PlayOrderEvaluateAddVo {
* 匿名评价(0:匿名1:非匿名) * 匿名评价(0:匿名1:非匿名)
*/ */
@NotBlank(message = "是否匿名不能为空") @NotBlank(message = "是否匿名不能为空")
@Pattern(regexp = "[01]", message = "匿名评价只能0或1") @Pattern(regexp = "[01]", message = "匿名评价只能0或1")
private String anonymous; private String anonymous;
/** /**

View File

@@ -34,7 +34,7 @@ public class PlayClerkAddArticleVo {
* 动态附件类型0图片;1视频;3:录音) * 动态附件类型0图片;1视频;3:录音)
*/ */
@NotBlank(message = "动态附件类型不能为空") @NotBlank(message = "动态附件类型不能为空")
@Pattern(regexp = "[012]", message = "动态附件类型只能0或1") @Pattern(regexp = "[012]", message = "动态附件类型只能0或1")
private String annexType; private String annexType;
/** /**