优惠券
This commit is contained in:
@@ -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));
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -8,7 +8,7 @@ import javax.validation.constraints.NotBlank;
|
||||
/**
|
||||
* 管理员管理信息新增
|
||||
*
|
||||
* @author 杭州世平信息科技有限公司-xuhq
|
||||
* @author admin
|
||||
* @since 2024/6/14 14:45
|
||||
**/
|
||||
@Data
|
||||
|
||||
@@ -8,7 +8,7 @@ import javax.validation.constraints.NotBlank;
|
||||
/**
|
||||
* 管理员管理信息修改
|
||||
*
|
||||
* @author 杭州世平信息科技有限公司-xuhq
|
||||
* @author admin
|
||||
* @since 2024/6/14 14:45
|
||||
**/
|
||||
@Data
|
||||
|
||||
@@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 管理员管理信息
|
||||
*
|
||||
* @author 杭州世平信息科技有限公司-xuhq
|
||||
* @author admin
|
||||
* @since 2024/6/14 14:45
|
||||
**/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.time.LocalDateTime;
|
||||
/**
|
||||
* 管理员管理信息
|
||||
*
|
||||
* @author 杭州世平信息科技有限公司-xuhq
|
||||
* @author admin
|
||||
* @since 2024/6/14 14:45
|
||||
**/
|
||||
@Data
|
||||
|
||||
@@ -8,7 +8,7 @@ import javax.validation.constraints.NotBlank;
|
||||
/**
|
||||
* 店员分组基本信息修改
|
||||
*
|
||||
* @author 杭州世平信息科技有限公司-xuhq
|
||||
* @author admin
|
||||
* @since 2024/6/14 14:45
|
||||
**/
|
||||
@Data
|
||||
|
||||
@@ -8,7 +8,7 @@ import javax.validation.constraints.NotBlank;
|
||||
/**
|
||||
* 店员分组基本信息修改
|
||||
*
|
||||
* @author 杭州世平信息科技有限公司-xuhq
|
||||
* @author admin
|
||||
* @since 2024/6/14 14:45
|
||||
**/
|
||||
@Data
|
||||
|
||||
@@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 店员分组管理信息
|
||||
*
|
||||
* @author 杭州世平信息科技有限公司-xuhq
|
||||
* @author admin
|
||||
* @since 2024/6/14 14:45
|
||||
**/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.time.LocalDateTime;
|
||||
/**
|
||||
* 店员分组管理信息
|
||||
*
|
||||
* @author 杭州世平信息科技有限公司-xuhq
|
||||
* @author admin
|
||||
* @since 2024/6/14 14:45
|
||||
**/
|
||||
@Data
|
||||
|
||||
@@ -8,7 +8,7 @@ import javax.validation.constraints.NotBlank;
|
||||
/**
|
||||
* 客户基本信息修改
|
||||
*
|
||||
* @author 杭州世平信息科技有限公司-xuhq
|
||||
* @author admin
|
||||
* @since 2024/6/14 14:45
|
||||
**/
|
||||
@Data
|
||||
|
||||
@@ -8,7 +8,7 @@ import javax.validation.constraints.NotBlank;
|
||||
/**
|
||||
* 客户基本信息修改
|
||||
*
|
||||
* @author 杭州世平信息科技有限公司-xuhq
|
||||
* @author admin
|
||||
* @since 2024/6/14 14:45
|
||||
**/
|
||||
@Data
|
||||
|
||||
@@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
* 客户管理信息
|
||||
*
|
||||
* @author 杭州世平信息科技有限公司-xuhq
|
||||
* @author admin
|
||||
* @since 2024/6/14 14:45
|
||||
**/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.time.LocalDateTime;
|
||||
/**
|
||||
* 客户管理信息
|
||||
*
|
||||
* @author 杭州世平信息科技有限公司-xuhq
|
||||
* @author admin
|
||||
* @since 2024/6/14 14:45
|
||||
**/
|
||||
@Data
|
||||
|
||||
@@ -37,7 +37,7 @@ public interface IPlayPersonnelGroupInfoService extends IService<PlayPersonnelGr
|
||||
* 查询店员分组信息列表
|
||||
*
|
||||
* @return PlayPersonnelGroupInfoReturnVo
|
||||
* @author 杭州世平信息科技有限公司-xuhq
|
||||
* @author admin
|
||||
* @since 2024/6/14 15:46
|
||||
**/
|
||||
List<PlayPersonnelGroupInfoEntity> selectAll();
|
||||
@@ -47,7 +47,7 @@ public interface IPlayPersonnelGroupInfoService extends IService<PlayPersonnelGr
|
||||
*
|
||||
* @param vo 查询店员分组信息查询对象
|
||||
* @return PlayPersonnelGroupInfoReturnVo
|
||||
* @author 杭州世平信息科技有限公司-xuhq
|
||||
* @author admin
|
||||
* @since 2024/6/14 15:46
|
||||
**/
|
||||
IPage<PlayPersonnelGroupInfoReturnVo> selectByPage(PlayPersonnelGroupInfoQueryVo vo);
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
@@ -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> {
|
||||
|
||||
|
||||
}
|
||||
@@ -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> {
|
||||
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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 {
|
||||
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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("");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -30,7 +30,7 @@ public class PlayOrderEvaluateAddVo {
|
||||
* 匿名评价(0:匿名,1:非匿名)
|
||||
*/
|
||||
@NotBlank(message = "是否匿名不能为空")
|
||||
@Pattern(regexp = "[01]", message = "匿名评价只能位0或1")
|
||||
@Pattern(regexp = "[01]", message = "匿名评价只能为0或1")
|
||||
private String anonymous;
|
||||
|
||||
/**
|
||||
|
||||
@@ -34,7 +34,7 @@ public class PlayClerkAddArticleVo {
|
||||
* 动态附件类型(0:图片;1:视频;3:录音)
|
||||
*/
|
||||
@NotBlank(message = "动态附件类型不能为空")
|
||||
@Pattern(regexp = "[012]", message = "动态附件类型只能位0或1")
|
||||
@Pattern(regexp = "[012]", message = "动态附件类型只能为0或1")
|
||||
private String annexType;
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user