From 3f0a11d201466322da7d573db8692bd8135c8abd Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Mon, 29 Jun 2026 18:15:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=97=E9=93=BA=E4=BC=9A=E5=91=98=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/ShopUserController.java | 11 ++++++ .../dto/shopuser/ShopUserVipEditDTO.java | 37 +++++++++++++++++++ .../czg/account/service/AShopUserService.java | 4 +- .../service/impl/AShopUserServiceImpl.java | 23 +++++++++++- 4 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 cash-common/cash-common-service/src/main/java/com/czg/account/dto/shopuser/ShopUserVipEditDTO.java diff --git a/cash-api/account-server/src/main/java/com/czg/controller/admin/ShopUserController.java b/cash-api/account-server/src/main/java/com/czg/controller/admin/ShopUserController.java index e8e9daae5..b24dfa252 100644 --- a/cash-api/account-server/src/main/java/com/czg/controller/admin/ShopUserController.java +++ b/cash-api/account-server/src/main/java/com/czg/controller/admin/ShopUserController.java @@ -150,6 +150,17 @@ public class ShopUserController { return CzgResult.success(shopUserService.updateInfo(StpKit.USER.getHeadShopIdBySession(), shopUserEditDTO)); } + /** + * 店铺会员信息修改 + * + * @return 是否成功 + */ + @SaAdminCheckPermission(parentName = "店铺用户",value = "shopUser:edit", name = "店铺用户修改") + @PutMapping + public CzgResult editVip(@RequestBody @Validated ShopUserVipEditDTO vipEditDTO) { + return CzgResult.success(shopUserService.editVip(vipEditDTO)); + } + /** * 店铺用户余额修改 * diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/dto/shopuser/ShopUserVipEditDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/shopuser/ShopUserVipEditDTO.java new file mode 100644 index 000000000..b66668d60 --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/shopuser/ShopUserVipEditDTO.java @@ -0,0 +1,37 @@ +package com.czg.account.dto.shopuser; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * @author Administrator + */ +@Data +public class ShopUserVipEditDTO { + /** + * 对应shopUserid + */ + private Long id; + /** + * 是否会员 0否 1是 + */ + private Integer isVip; + /** + * 会员等级id + */ + private Long memberLevelId; + + /** + * 会员开始时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDateTime startTime; + /** + * 会员结束时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDateTime endTime; + +} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/service/AShopUserService.java b/cash-common/cash-common-service/src/main/java/com/czg/account/service/AShopUserService.java index 905d43540..d57519e1a 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/service/AShopUserService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/service/AShopUserService.java @@ -7,7 +7,6 @@ import com.mybatisflex.core.paginate.Page; import jakarta.servlet.http.HttpServletResponse; import java.math.BigDecimal; -import java.util.List; /** * 商户储值会员 服务层。 @@ -20,11 +19,14 @@ public interface AShopUserService { Page getPage(String key, Integer isVip); Page getPage(String key, Integer isVip, BigDecimal amount); + Page getPushEventUser(SmsPushEventUser smsPushEventUser); + Page getAcPushEventUser(SmsPushEventUser smsPushEventUser); void exportUserList(String key, Integer isVip, HttpServletResponse response); + Boolean editVip(ShopUserVipEditDTO vipEditDTO); Boolean add(Long shopId, ShopUserAddDTO shopUserAddDTO); diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/AShopUserServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/AShopUserServiceImpl.java index ac813d888..d655917bf 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/AShopUserServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/AShopUserServiceImpl.java @@ -2,7 +2,6 @@ package com.czg.service.account.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.DesensitizedUtil; import cn.hutool.core.util.StrUtil; import com.czg.account.dto.shopuser.*; import com.czg.account.entity.ShopInfo; @@ -38,6 +37,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; +import java.time.LocalDateTime; import java.util.List; @@ -147,6 +147,27 @@ public class AShopUserServiceImpl implements AShopUserService { ExcelExportUtil.exportToResponse(exportList, ShopUserExportDTO.class, shopInfo == null ? "店铺用户列表" : shopInfo.getShopName() + "_用户列表", response); } + @Override + public Boolean editVip(ShopUserVipEditDTO vipEditDTO) { + ShopUser shopUser = getUserInfo(vipEditDTO.getId()); + if (vipEditDTO.getIsVip() != null && vipEditDTO.getIsVip() == 1) { + shopUser.setIsVip(vipEditDTO.getIsVip()); + if (vipEditDTO.getMemberLevelId() != null) { + shopUser.setMemberLevelId(vipEditDTO.getMemberLevelId()); + if (shopUser.getStartTime() == null) { + shopUser.setStartTime(LocalDateTime.now()); + } + shopUser.setEndTime(vipEditDTO.getEndTime()); + } + } else if (vipEditDTO.getIsVip() != null && vipEditDTO.getIsVip() == 0) { + shopUser.setIsVip(0); + shopUser.setStartTime(null); + shopUser.setEndTime(null); + shopUser.setMemberLevelId(null); + } + return shopUserService.updateById(shopUser, false); + } + @Override public Boolean updateInfo(Long shopId, ShopUserEditDTO shopUserEditDTO) {