From 9b7159f8c1c79e2a1eff3708b944fd613b81b40e Mon Sep 17 00:00:00 2001 From: Flow <958079825@qq.com> Date: Tue, 24 Jun 2025 10:44:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=96=E6=B6=88=E4=BC=9A=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/person/PersonController.java | 8 ++++++++ .../module/system/service/person/PersonService.java | 7 +++++++ .../system/service/person/PersonServiceImpl.java | 12 ++++++++++++ 3 files changed, 27 insertions(+) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/person/PersonController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/person/PersonController.java index 06fc05310c..b7acd841e5 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/person/PersonController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/person/PersonController.java @@ -148,4 +148,12 @@ public class PersonController { personService.becomeVip(reqVO); return success(true); } + + @PutMapping("/cancel-vip") + @Operation(summary = "取消会员") + @Parameter(name = "userid", description = "用户编号", required = true) + public CommonResult cancelVip(@RequestParam("userid") Integer userid) { + personService.cancelVip(userid); + return success(true); + } } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/person/PersonService.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/person/PersonService.java index 796fa23135..08e1e81003 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/person/PersonService.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/person/PersonService.java @@ -110,4 +110,11 @@ public interface PersonService { * @param reqVO 开通会员请求参数 */ void becomeVip(@Valid PersonBecomeVipReqVO reqVO); + + /** + * 取消会员 + * + * @param userid 用户编号 + */ + void cancelVip(Integer userid); } \ No newline at end of file diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/person/PersonServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/person/PersonServiceImpl.java index a0a0d01f8b..0773227041 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/person/PersonServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/person/PersonServiceImpl.java @@ -151,4 +151,16 @@ public class PersonServiceImpl implements PersonService { .set(PersonDO::getVipstarttime, reqVO.getVipstarttime()) // 设置会员开始时间 .set(PersonDO::getVipendtime, reqVO.getVipendtime())); // 设置会员结束时间 } + + @Override + public void cancelVip(Integer userid) { + // 校验用户存在 + validatePersonExists(userid); + // 取消会员:将vipstarttime、vipendtime设置为null,isvip设置为0 + personMapper.update(null, new LambdaUpdateWrapper() + .eq(PersonDO::getId, userid) + .set(PersonDO::getIsvip, 0) // 设置为非会员状态 + .set(PersonDO::getVipstarttime, null) // 清空会员开始时间 + .set(PersonDO::getVipendtime, null)); // 清空会员结束时间 + } } \ No newline at end of file