cloudroam
2024-12-09 61b4b44cf4b60334eb9c3c17d13c01342b4f34cf
add: 供应商子账号
已修改3个文件
39 ■■■■ 文件已修改
src/main/java/com/mzl/flower/dto/request/supplier/SupplierSubDTO.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/service/supplier/SupplierSubService.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/supplier/SupplierMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
}
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("子账号名称已存在");
            }
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>