From 61b4b44cf4b60334eb9c3c17d13c01342b4f34cf Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期一, 09 十二月 2024 11:51:35 +0800 Subject: [PATCH] add: 供应商子账号 --- src/main/java/com/mzl/flower/service/supplier/SupplierSubService.java | 31 +++++++++++++++++++++++++------ src/main/resources/mapper/supplier/SupplierMapper.xml | 1 + src/main/java/com/mzl/flower/dto/request/supplier/SupplierSubDTO.java | 7 ++++--- 3 files changed, 30 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/mzl/flower/dto/request/supplier/SupplierSubDTO.java b/src/main/java/com/mzl/flower/dto/request/supplier/SupplierSubDTO.java index e99f72b..e054150 100644 --- a/src/main/java/com/mzl/flower/dto/request/supplier/SupplierSubDTO.java +++ b/src/main/java/com/mzl/flower/dto/request/supplier/SupplierSubDTO.java @@ -8,9 +8,6 @@ private Long id; - @ApiModelProperty("供应商ID(父ID)") - private Long supplierId; - @ApiModelProperty("子账号名称") private String name; @@ -25,4 +22,8 @@ @ApiModelProperty("启用/禁用") private Boolean isEnabled; + + @ApiModelProperty("验证码") + private String smsCode; + } diff --git a/src/main/java/com/mzl/flower/service/supplier/SupplierSubService.java b/src/main/java/com/mzl/flower/service/supplier/SupplierSubService.java index 14dab63..2a439d2 100644 --- a/src/main/java/com/mzl/flower/service/supplier/SupplierSubService.java +++ b/src/main/java/com/mzl/flower/service/supplier/SupplierSubService.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.mzl.flower.base.cache.StringCacheClient; import com.mzl.flower.config.exception.ValidationException; import com.mzl.flower.config.security.SecurityUtils; import com.mzl.flower.constant.Constants; @@ -12,10 +13,10 @@ import com.mzl.flower.dto.response.supplier.SupplierSubVO; import com.mzl.flower.entity.supplier.SupplierSub; import com.mzl.flower.entity.system.User; +import com.mzl.flower.mapper.supplier.SupplierMapper; import com.mzl.flower.mapper.supplier.SupplierSubMapper; import com.mzl.flower.mapper.system.UserMapper; import com.mzl.flower.service.BaseService; -import com.mzl.flower.utils.DateUtils; import com.mzl.flower.utils.UUIDGenerator; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; @@ -38,19 +39,37 @@ private final UserMapper userMapper; private final BaseService baseService; + private final StringCacheClient stringCacheClient; + + public static final String SMS_CODE_KEY = "SMS-CODE-KEY"; + + public static final String TOKEN_KEY = "TOKEN-KEY"; + + public static final String SEPARATOR = ":"; + + private final SupplierMapper supplierMapper; + public void addOrUpdateSupplier(SupplierSubDTO dto) { - + if(StringUtils.isEmpty(dto.getSmsCode())){ + throw new ValidationException("手机验证码为空"); + } + String smsCode = dto.getSmsCode(); + //从缓存中获取验证码 + String smsCacheCode = stringCacheClient.get(SMS_CODE_KEY + SEPARATOR + Constants.USER_TYPE.supplier.name() + SEPARATOR + dto.getPhone()); + if (!org.apache.commons.lang3.StringUtils.equals(smsCode, smsCacheCode)) { + throw new ValidationException("手机验证码不正确"); + } SupplierSub supplierSub; if (dto.getId() == null) { - if (StringUtils.isEmpty(dto.getSupplierId())) { - throw new ValidationException("供应商主账号ID不能为空"); + SupplierDTO supplierDTO = supplierMapper.getCurrentSupplier(SecurityUtils.getUserId()); + if(ObjectUtils.isEmpty(supplierDTO)){ + throw new ValidationException("供应商信息不存在"); } - //检查该供应商下是否有名称一样的子账号 - if (checkExistName(dto.getName(), dto.getSupplierId())) { + if (checkExistName(dto.getName(), supplierDTO.getId())) { throw new ValidationException("子账号名称已存在"); } diff --git a/src/main/resources/mapper/supplier/SupplierMapper.xml b/src/main/resources/mapper/supplier/SupplierMapper.xml index 6c6a24e..54c5a01 100644 --- a/src/main/resources/mapper/supplier/SupplierMapper.xml +++ b/src/main/resources/mapper/supplier/SupplierMapper.xml @@ -68,5 +68,6 @@ LEFT JOIN t_station s ON t.station_id = s.id LEFT JOIN t_supplier_type st ON t.type_id = st.id WHERE t.user_Id=#{userId} + and t.deleted = '0' </select> </mapper> \ No newline at end of file -- Gitblit v1.9.3