diff --git a/play-admin/src/main/java/com/starry/admin/modules/coupon/controller/CouponInfoController.java b/play-admin/src/main/java/com/starry/admin/modules/coupon/controller/CouponInfoController.java deleted file mode 100644 index 469e0f8..0000000 --- a/play-admin/src/main/java/com/starry/admin/modules/coupon/controller/CouponInfoController.java +++ /dev/null @@ -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 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)); - } -} diff --git a/play-admin/src/main/java/com/starry/admin/modules/coupon/mapper/CouponInfoMapper.java b/play-admin/src/main/java/com/starry/admin/modules/coupon/mapper/CouponInfoMapper.java deleted file mode 100644 index 07b8573..0000000 --- a/play-admin/src/main/java/com/starry/admin/modules/coupon/mapper/CouponInfoMapper.java +++ /dev/null @@ -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 { - /** - * 查询商品 - * - * @param id 商品主键 - * @return 商品 - */ - CouponInfoEntity selectCouponInfoById(String id); - - /** - * 查询商品列表 - * - * @param couponInfo 商品 - * @return 商品集合 - */ - List selectCouponInfoList(CouponInfoEntity couponInfo); - -} diff --git a/play-admin/src/main/java/com/starry/admin/modules/coupon/module/entity/CouponInfoEntity.java b/play-admin/src/main/java/com/starry/admin/modules/coupon/module/entity/CouponInfoEntity.java deleted file mode 100644 index 6bc40f3..0000000 --- a/play-admin/src/main/java/com/starry/admin/modules/coupon/module/entity/CouponInfoEntity.java +++ /dev/null @@ -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 { - - /** - * UUID - */ - private String id; - - /** - * 价格 - */ - private String money; - - -} diff --git a/play-admin/src/main/java/com/starry/admin/modules/coupon/service/ICouponInfoService.java b/play-admin/src/main/java/com/starry/admin/modules/coupon/service/ICouponInfoService.java deleted file mode 100644 index bf3d17b..0000000 --- a/play-admin/src/main/java/com/starry/admin/modules/coupon/service/ICouponInfoService.java +++ /dev/null @@ -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 { - /** - * 查询商品 - * - * @param id 商品主键 - * @return 商品 - */ - CouponInfoEntity selectCouponInfoById(String id); - - /** - * 查询商品列表 - * - * @param couponInfo 商品 - * @return 商品集合 - */ - IPage 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); -} diff --git a/play-admin/src/main/java/com/starry/admin/modules/coupon/service/impl/CouponInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/coupon/service/impl/CouponInfoServiceImpl.java deleted file mode 100644 index eebcb6d..0000000 --- a/play-admin/src/main/java/com/starry/admin/modules/coupon/service/impl/CouponInfoServiceImpl.java +++ /dev/null @@ -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 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 selectCouponInfoByPage(CouponInfoEntity couponInfo) { - Page page = new Page<>(1, 10); - return this.baseMapper.selectPage(page, new LambdaQueryWrapper()); - } - - /** - * 新增商品 - * - * @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); - } -} diff --git a/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelAdminInfoEditAddInfoVo.java b/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelAdminInfoEditAddInfoVo.java index dedd7cd..3908efd 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelAdminInfoEditAddInfoVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelAdminInfoEditAddInfoVo.java @@ -8,7 +8,7 @@ import javax.validation.constraints.NotBlank; /** * 管理员管理信息新增 * - * @author 杭州世平信息科技有限公司-xuhq + * @author admin * @since 2024/6/14 14:45 **/ @Data diff --git a/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelAdminInfoEditBaseInfoVo.java b/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelAdminInfoEditBaseInfoVo.java index dda95e8..29e2f10 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelAdminInfoEditBaseInfoVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelAdminInfoEditBaseInfoVo.java @@ -8,7 +8,7 @@ import javax.validation.constraints.NotBlank; /** * 管理员管理信息修改 * - * @author 杭州世平信息科技有限公司-xuhq + * @author admin * @since 2024/6/14 14:45 **/ @Data diff --git a/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelAdminInfoQueryVo.java b/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelAdminInfoQueryVo.java index df0a0b7..aef6b54 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelAdminInfoQueryVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelAdminInfoQueryVo.java @@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode; /** * 管理员管理信息 * - * @author 杭州世平信息科技有限公司-xuhq + * @author admin * @since 2024/6/14 14:45 **/ @EqualsAndHashCode(callSuper = true) diff --git a/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelAdminInfoReturnVo.java b/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelAdminInfoReturnVo.java index 06feed2..1032633 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelAdminInfoReturnVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelAdminInfoReturnVo.java @@ -11,7 +11,7 @@ import java.time.LocalDateTime; /** * 管理员管理信息 * - * @author 杭州世平信息科技有限公司-xuhq + * @author admin * @since 2024/6/14 14:45 **/ @Data diff --git a/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelGroupInfoEditAddInfoVo.java b/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelGroupInfoEditAddInfoVo.java index 4957d44..57c481d 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelGroupInfoEditAddInfoVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelGroupInfoEditAddInfoVo.java @@ -8,7 +8,7 @@ import javax.validation.constraints.NotBlank; /** * 店员分组基本信息修改 * - * @author 杭州世平信息科技有限公司-xuhq + * @author admin * @since 2024/6/14 14:45 **/ @Data diff --git a/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelGroupInfoEditBaseInfoVo.java b/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelGroupInfoEditBaseInfoVo.java index 87090ce..363ade3 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelGroupInfoEditBaseInfoVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelGroupInfoEditBaseInfoVo.java @@ -8,7 +8,7 @@ import javax.validation.constraints.NotBlank; /** * 店员分组基本信息修改 * - * @author 杭州世平信息科技有限公司-xuhq + * @author admin * @since 2024/6/14 14:45 **/ @Data diff --git a/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelGroupInfoQueryVo.java b/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelGroupInfoQueryVo.java index dbd0ef8..45bb100 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelGroupInfoQueryVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelGroupInfoQueryVo.java @@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode; /** * 店员分组管理信息 * - * @author 杭州世平信息科技有限公司-xuhq + * @author admin * @since 2024/6/14 14:45 **/ @EqualsAndHashCode(callSuper = true) diff --git a/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelGroupInfoReturnVo.java b/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelGroupInfoReturnVo.java index f32a63e..d7da0c8 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelGroupInfoReturnVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelGroupInfoReturnVo.java @@ -9,7 +9,7 @@ import java.time.LocalDateTime; /** * 店员分组管理信息 * - * @author 杭州世平信息科技有限公司-xuhq + * @author admin * @since 2024/6/14 14:45 **/ @Data diff --git a/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelWaiterInfoEditAddInfoVo.java b/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelWaiterInfoEditAddInfoVo.java index 49cb5c8..7fe864d 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelWaiterInfoEditAddInfoVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelWaiterInfoEditAddInfoVo.java @@ -8,7 +8,7 @@ import javax.validation.constraints.NotBlank; /** * 客户基本信息修改 * - * @author 杭州世平信息科技有限公司-xuhq + * @author admin * @since 2024/6/14 14:45 **/ @Data diff --git a/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelWaiterInfoEditBaseInfoVo.java b/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelWaiterInfoEditBaseInfoVo.java index f6978b1..283a8ff 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelWaiterInfoEditBaseInfoVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelWaiterInfoEditBaseInfoVo.java @@ -8,7 +8,7 @@ import javax.validation.constraints.NotBlank; /** * 客户基本信息修改 * - * @author 杭州世平信息科技有限公司-xuhq + * @author admin * @since 2024/6/14 14:45 **/ @Data diff --git a/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelWaiterInfoQueryVo.java b/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelWaiterInfoQueryVo.java index fc7c44a..b401f16 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelWaiterInfoQueryVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelWaiterInfoQueryVo.java @@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode; /** * 客户管理信息 * - * @author 杭州世平信息科技有限公司-xuhq + * @author admin * @since 2024/6/14 14:45 **/ @EqualsAndHashCode(callSuper = true) diff --git a/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelWaiterInfoReturnVo.java b/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelWaiterInfoReturnVo.java index f9e64ed..c670319 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelWaiterInfoReturnVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/personnel/module/vo/PlayPersonnelWaiterInfoReturnVo.java @@ -9,7 +9,7 @@ import java.time.LocalDateTime; /** * 客户管理信息 * - * @author 杭州世平信息科技有限公司-xuhq + * @author admin * @since 2024/6/14 14:45 **/ @Data diff --git a/play-admin/src/main/java/com/starry/admin/modules/personnel/service/IPlayPersonnelGroupInfoService.java b/play-admin/src/main/java/com/starry/admin/modules/personnel/service/IPlayPersonnelGroupInfoService.java index a8ab030..aa47393 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/personnel/service/IPlayPersonnelGroupInfoService.java +++ b/play-admin/src/main/java/com/starry/admin/modules/personnel/service/IPlayPersonnelGroupInfoService.java @@ -37,7 +37,7 @@ public interface IPlayPersonnelGroupInfoService extends IService selectAll(); @@ -47,7 +47,7 @@ public interface IPlayPersonnelGroupInfoService extends IService selectByPage(PlayPersonnelGroupInfoQueryVo vo); diff --git a/play-admin/src/main/java/com/starry/admin/modules/shop/controller/PlayCouponDetailsController.java b/play-admin/src/main/java/com/starry/admin/modules/shop/controller/PlayCouponDetailsController.java new file mode 100644 index 0000000..f556b8f --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/shop/controller/PlayCouponDetailsController.java @@ -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 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)); + } +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/shop/controller/PlayCouponInfoController.java b/play-admin/src/main/java/com/starry/admin/modules/shop/controller/PlayCouponInfoController.java new file mode 100644 index 0000000..3b6cb53 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/shop/controller/PlayCouponInfoController.java @@ -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 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)); + } +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/shop/mapper/PlayCouponDetailsMapper.java b/play-admin/src/main/java/com/starry/admin/modules/shop/mapper/PlayCouponDetailsMapper.java new file mode 100644 index 0000000..e8dea6c --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/shop/mapper/PlayCouponDetailsMapper.java @@ -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 { + + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/shop/mapper/PlayCouponInfoMapper.java b/play-admin/src/main/java/com/starry/admin/modules/shop/mapper/PlayCouponInfoMapper.java new file mode 100644 index 0000000..ed71a24 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/shop/mapper/PlayCouponInfoMapper.java @@ -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 { + + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/shop/module/entity/PlayCouponDetailsEntity.java b/play-admin/src/main/java/com/starry/admin/modules/shop/module/entity/PlayCouponDetailsEntity.java new file mode 100644 index 0000000..a88583c --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/shop/module/entity/PlayCouponDetailsEntity.java @@ -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 { + + + /** + * 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; + + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/shop/module/entity/PlayCouponInfoEntity.java b/play-admin/src/main/java/com/starry/admin/modules/shop/module/entity/PlayCouponInfoEntity.java new file mode 100644 index 0000000..e34d555 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/shop/module/entity/PlayCouponInfoEntity.java @@ -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 { + + + /** + * 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 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 customLevel; + + /** + * 顾客关注公众号状态(0:未关注,1:已关注) + */ + private String customFollowStatus; + + /** + * 顾客性别(0:未知;1:男,2:女) + */ + @TableField(typeHandler = StringTypeHandler.class) + private List customSex; + + /** + * 仅限新用户领取(0:不是;1:是)(没有下过单的用户,下单后再退单也不算) + */ + private String isNewUser; + + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/shop/module/vo/PlayCouponDetailsQueryVo.java b/play-admin/src/main/java/com/starry/admin/modules/shop/module/vo/PlayCouponDetailsQueryVo.java new file mode 100644 index 0000000..b406520 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/shop/module/vo/PlayCouponDetailsQueryVo.java @@ -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 useTime; + + /** + * 获得时间 + */ + private List obtainingTime; + + /** + * 用户等级 + */ + private List customLevelId; + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/shop/module/vo/PlayCouponDetailsUpdateUseStateVo.java b/play-admin/src/main/java/com/starry/admin/modules/shop/module/vo/PlayCouponDetailsUpdateUseStateVo.java new file mode 100644 index 0000000..fab2b34 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/shop/module/vo/PlayCouponDetailsUpdateUseStateVo.java @@ -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 couponIds; + + + /** + * 优惠券使用状态(1:未使用;2:已使用;3:已回收) + */ + @NotNull(message = "优惠券使用状态不能为空") + @Pattern(regexp = "[0|1]", message = "店员范围只能为0或者1") + private String useState; + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/shop/module/vo/PlayCouponInfoAddVo.java b/play-admin/src/main/java/com/starry/admin/modules/shop/module/vo/PlayCouponInfoAddVo.java new file mode 100644 index 0000000..458dbdc --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/shop/module/vo/PlayCouponInfoAddVo.java @@ -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 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 customLevel; + + /** + * 顾客关注公众号状态(0:未关注,1:已关注) + */ + private String customFollowStatus; + + /** + * 顾客性别(0:未知;1:男,2:女) + */ + private String customSex; + + /** + * 仅限新用户领取(0:不是;1:是)(没有下过单的用户,下单后再退单也不算) + */ + private String isNewUser; +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/shop/module/vo/PlayCouponInfoQueryVo.java b/play-admin/src/main/java/com/starry/admin/modules/shop/module/vo/PlayCouponInfoQueryVo.java new file mode 100644 index 0000000..76192ac --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/shop/module/vo/PlayCouponInfoQueryVo.java @@ -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 { + + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/shop/module/vo/PlayCouponInfoReturnVo.java b/play-admin/src/main/java/com/starry/admin/modules/shop/module/vo/PlayCouponInfoReturnVo.java new file mode 100644 index 0000000..ee600b4 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/shop/module/vo/PlayCouponInfoReturnVo.java @@ -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 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 customLevel; + + /** + * 顾客关注公众号状态(0:未关注,1:已关注) + */ + private String customFollowStatus; + + /** + * 顾客性别(0:未知;1:男,2:女) + */ + @TableField(typeHandler = StringTypeHandler.class) + private List customSex; + + /** + * 仅限新用户领取(0:不是;1:是)(没有下过单的用户,下单后再退单也不算) + */ + private String isNewUser; + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/shop/service/IPlayCouponDetailsService.java b/play-admin/src/main/java/com/starry/admin/modules/shop/service/IPlayCouponDetailsService.java new file mode 100644 index 0000000..ed594e6 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/shop/service/IPlayCouponDetailsService.java @@ -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 { + /** + * 查询优惠券详情 + * + * @param id 优惠券详情主键 + * @return 优惠券详情 + */ + PlayCouponDetailsEntity selectPlayCouponDetailsById(String id); + + /** + * 查询优惠券详情列表 + * + * @param vo 优惠券详情 + * @return 优惠券详情集合 + */ + IPage selectByPage(PlayCouponDetailsQueryVo vo); + + /** + * 查询优惠券详情列表 + * + * @param playCouponDetails 优惠券详情 + * @return 优惠券详情集合 + */ + IPage selectPlayCouponDetailsByPage(PlayCouponDetailsEntity playCouponDetails); + + + /** + * 根据顾客ID,查询当前顾客优惠券列表 + * + * @param customId 顾客ID + * @param canBeUsed 是否可以被使用 + * @return List + * @author 杭州世平信息科技有限公司-xuhq + * @since 2024/7/5 11:37 + **/ + List 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); +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/shop/service/IPlayCouponInfoService.java b/play-admin/src/main/java/com/starry/admin/modules/shop/service/IPlayCouponInfoService.java new file mode 100644 index 0000000..af0178d --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/shop/service/IPlayCouponInfoService.java @@ -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 { + /** + * 查询优惠券信息 + * + * @param id 优惠券信息主键 + * @return 优惠券信息 + */ + PlayCouponInfoEntity selectPlayCouponInfoById(String id); + + + /** + * 查询优惠券信息列表 + * + * @param vo 优惠券分页查询实体 + * @return 优惠券信息集合 + */ + IPage selectByPage(PlayCouponInfoQueryVo vo); + + /** + * 查询优惠券信息列表 + * + * @param playCouponInfo 优惠券信息 + * @return 优惠券信息集合 + */ + IPage 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); +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/shop/service/impl/PlayCouponDetailsServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/shop/service/impl/PlayCouponDetailsServiceImpl.java new file mode 100644 index 0000000..1293df2 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/shop/service/impl/PlayCouponDetailsServiceImpl.java @@ -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 implements IPlayCouponDetailsService { + @Resource + private PlayCouponDetailsMapper playCouponDetailsMapper; + + /** + * 查询优惠券详情 + * + * @param id 优惠券详情主键 + * @return 优惠券详情 + */ + @Override + public PlayCouponDetailsEntity selectPlayCouponDetailsById(String id) { + return this.baseMapper.selectById(id); + } + + + @Override + public IPage selectByPage(PlayCouponDetailsQueryVo vo) { + MPJLambdaWrapper 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 selectPlayCouponDetailsByPage(PlayCouponDetailsEntity playCouponDetails) { + Page page = new Page<>(1, 10); + return this.baseMapper.selectPage(page, new LambdaQueryWrapper()); + } + + /** + * 新增优惠券详情 + * + * @param playCouponDetails 优惠券详情 + * @return 结果 + */ + @Override + public boolean create(PlayCouponDetailsEntity playCouponDetails) { + if (StrUtil.isBlankIfStr(playCouponDetails.getId())) { + playCouponDetails.setId(IdUtils.getUuid()); + } + return save(playCouponDetails); + } + + @Override + public List selectByCustomId(String customId, boolean canBeUsed) { + MPJLambdaWrapper 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); + } +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/shop/service/impl/PlayCouponInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/shop/service/impl/PlayCouponInfoServiceImpl.java new file mode 100644 index 0000000..c315479 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/shop/service/impl/PlayCouponInfoServiceImpl.java @@ -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 implements IPlayCouponInfoService { + @Resource + private PlayCouponInfoMapper playCouponInfoMapper; + + /** + * 查询优惠券信息 + * + * @param id 优惠券信息主键 + * @return 优惠券信息 + */ + @Override + public PlayCouponInfoEntity selectPlayCouponInfoById(String id) { + return this.baseMapper.selectById(id); + } + + + @Override + public IPage selectByPage(PlayCouponInfoQueryVo vo) { + MPJLambdaWrapper 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 selectPlayCouponInfoByPage(PlayCouponInfoEntity playCouponInfo) { + Page page = new Page<>(1, 10); + return this.baseMapper.selectPage(page, new LambdaQueryWrapper()); + } + + /** + * 新增优惠券信息 + * + * @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); + } +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCouponController.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCouponController.java new file mode 100644 index 0000000..5096ac7 --- /dev/null +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCouponController.java @@ -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 list = levelInfoService.selectAll(); +// List result = new ArrayList<>(); +// for (PlayCustomLevelInfoEntity entity : list) { +// PlayCustomLevelInfoReturnVo vo = new PlayCustomLevelInfoReturnVo(); +// BeanUtils.copyProperties(entity, vo); +// result.add(vo); +// } + return R.ok(""); + } + +} diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderEvaluateAddVo.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderEvaluateAddVo.java index 0587825..7bd7fd5 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderEvaluateAddVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayOrderEvaluateAddVo.java @@ -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; /** diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/article/PlayClerkAddArticleVo.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/article/PlayClerkAddArticleVo.java index c0b4f54..c658931 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/article/PlayClerkAddArticleVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/article/PlayClerkAddArticleVo.java @@ -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; /**