From 95c56e1b0307826da21e13600e249be9531e7db5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Sat, 15 Feb 2025 11:28:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=97=E9=93=BA=E4=BC=9A=E5=91=98=E6=96=B0?= =?UTF-8?q?=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/ShopUserController.java | 11 +++ .../account/dto/shopuser/ShopUserAddDTO.java | 73 +++++++++++++++---- .../czg/account/service/ShopUserService.java | 4 + .../service/impl/ShopUserServiceImpl.java | 18 +++++ 4 files changed, 90 insertions(+), 16 deletions(-) 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 e0ce6d030..721a8c322 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 @@ -1,5 +1,6 @@ package com.czg.controller.admin; +import com.czg.account.dto.shopuser.ShopUserAddDTO; import com.czg.account.dto.shopuser.ShopUserEditDTO; import com.czg.account.dto.shopuser.ShopUserMoneyEditDTO; import com.czg.account.dto.shopuser.ShopUserSummaryDTO; @@ -47,6 +48,16 @@ public class ShopUserController { return CzgResult.success(shopUserService.getPage(key, isVip)); } + /** + * 店铺用户信息添加 + * @return 是否成功 + */ + @SaAdminCheckPermission("shopUser:add") + @PostMapping + public CzgResult add(@RequestBody @Validated ShopUserAddDTO shopUserAddDTO) { + return CzgResult.success(shopUserService.add(StpKit.USER.getShopId(), shopUserAddDTO)); + } + /** * 店铺用户信息修改 * @return 是否成功 diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/dto/shopuser/ShopUserAddDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/shopuser/ShopUserAddDTO.java index 8408110d7..c8533cd2e 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/dto/shopuser/ShopUserAddDTO.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/shopuser/ShopUserAddDTO.java @@ -2,21 +2,62 @@ package com.czg.account.dto.shopuser; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; +import lombok.Data; -public record ShopUserAddDTO(@NotEmpty(message = "店铺名称不为空") String shopName, - @NotEmpty(message = "logo不为空") String logo, - @NotEmpty String profiles, - @NotNull(message = "店铺类型不为空") Integer shopType, - @NotEmpty(message = "经营模式不为空") String registerType, - @NotEmpty(message = "账号不为空") String loginName, - @NotEmpty(message = "密码不为空") String loginPwd, - @NotEmpty(message = "经度不为空") String lat, - @NotEmpty(message = "维度不为空") String lng, - @NotEmpty(message = "详细地址不为空") String address, - @NotNull(message = "店铺状态不为空") Integer status, - String detail, - String phone, - String activateCode, - String coverImg, - String chainName) { +import java.math.BigDecimal; + +/** + * @author Administrator + */ +@Data +public class ShopUserAddDTO { + + /** + * 用户头像 + */ + private String headImg; + + /** + * 用户昵称 + */ + @NotEmpty(message = "用户昵称不为空") + private String nickName; + + /** + * 电话号码 + */ + @NotEmpty(message = "手机号不为空") + private String phone; + + /** + * 会员生日 + */ + private String birthDay; + + /** + * 0-女 1男 + */ + private Integer sex; + + /** + * 用户Id + */ + @NotNull(message = "用户id不为空") + private Long userId; + + /** + * 账户积分 + */ + private Integer accountPoints; + + /** + * 钱包余额 + */ + private BigDecimal amount; + + + /** + * 是否会员, + */ + private Integer isVip; } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopUserService.java b/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopUserService.java index 4f379b6db..28e6528fc 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopUserService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopUserService.java @@ -1,5 +1,6 @@ package com.czg.account.service; +import com.czg.account.dto.shopuser.ShopUserAddDTO; import com.czg.account.dto.shopuser.ShopUserEditDTO; import com.czg.account.dto.shopuser.ShopUserMoneyEditDTO; import com.czg.account.dto.shopuser.ShopUserSummaryDTO; @@ -24,4 +25,7 @@ public interface ShopUserService extends IService { ShopUserSummaryDTO getSummary(Long shopId, Integer isVip); ShopUser getShopUserInfo(Long shopId, long userId); + + Boolean add(Long shopId, ShopUserAddDTO shopUserAddDTO); + } diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserServiceImpl.java index 8304e7c5f..54c0b3be4 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserServiceImpl.java @@ -2,6 +2,7 @@ package com.czg.service.account.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; +import com.czg.account.dto.shopuser.ShopUserAddDTO; import com.czg.account.dto.shopuser.ShopUserEditDTO; import com.czg.account.dto.shopuser.ShopUserMoneyEditDTO; import com.czg.account.dto.shopuser.ShopUserSummaryDTO; @@ -102,4 +103,21 @@ public class ShopUserServiceImpl extends ServiceImpl } return shopUser; } + + @Override + public Boolean add(Long shopId, ShopUserAddDTO shopUserAddDTO) { + long userCount = userInfoService.queryChain().eq(UserInfo::getId, shopUserAddDTO.getUserId()).count(); + if (userCount == 0) { + throw new ApiNotPrintException("用户信息不存在"); + } + long count = queryChain().eq(ShopUser::getShopId, shopId).eq(ShopUser::getUserId, shopUserAddDTO.getUserId()).count(); + if (count > 0) { + throw new ApiNotPrintException("此用户已存在"); + } + + ShopUser shopUser = BeanUtil.copyProperties(shopUserAddDTO, ShopUser.class); + shopUser.setShopId(shopId); + shopUser.setJoinTime(shopUser.getIsVip() != null &&shopUser.getIsVip() == 1 ? DateUtil.date().toLocalDateTime() : null); + return save(shopUser); + } }