mitao
2025-01-21 cd8cd7b6cff67f1de494e822074888a6ed7c3426
Merge remote-tracking branch 'origin/master'
4个文件已修改
5个文件已添加
137 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-company/src/main/java/com/ruoyi/company/api/model/UserDetail.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/Region.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-gateway/src/main/resources/bootstrap.yml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/RegionController.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RegionMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/RegionService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RegionServiceImpl.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-company/src/main/java/com/ruoyi/company/api/model/UserDetail.java
@@ -6,41 +6,53 @@
import java.time.LocalDateTime;
@Data
@Schema(description = "用户详情")
public class UserDetail {
    @Schema(description = "用户id")
    private Long userId;
    @Schema(description = "公司名称")
    private String companyName;
    /** 统一社会信用代码 */
    @Schema(description = "统一社会信用代码")
    private String socialCode;
    /** 联系人姓名 */
    @Schema(description = "联系人姓名")
    private String contactName;
    /** 联系人手机号 */
    @Schema(description = "联系人手机号")
    private String contactPhone;
    /** 联系人邮箱 */
    @Schema(description = "联系人邮箱")
    private String email;
    /** 账号 */
    @Schema(description = "账号")
    private String accountName;
    /** 用户名称 */
    @Schema(description = "用户名称")
    private String userName;
    /** 注册时间 */
    @Schema(description = "注册时间")
    private LocalDateTime registerTime;
    /** 绑定手机号 */
    @Schema(description = "绑定手机号")
    private String phone;
    /** 账号ID */
    @Schema(description = "账号ID")
    private Long accountId;
    /** 登录密码 */
    @Schema(description = "登录密码")
    private String password;
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/Region.java
New file
@@ -0,0 +1,21 @@
package com.ruoyi.system.api.domain;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.List;
@Data
@TableName("sys_region")
public class Region {
    private Integer id;
    private String name;
    private String code;
    private String citycode;
    private Integer parentId;
    private String english;
    @TableField(exist = false) // 表示该字段不在数据库表中
    private List<Region> children; // 子节点
}
ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java
@@ -157,6 +157,7 @@
        appUser.setAccountName(user.getAccountName());
        appUser.setPhone(user.getPhone());
        appUser.setLoginTime(System.currentTimeMillis());
        appUser.setExpireTime(appUser.getLoginTime() + CacheConstants.EXPIRATION * 60 * 1000L);
        appUser.setToken(token);
        // 根据uuid将loginUser缓存
ruoyi-gateway/src/main/resources/bootstrap.yml
@@ -15,6 +15,7 @@
      discovery:
        # 服务注册地址
        server-addr: 192.168.110.111:8848
        ip: 192.168.110.111
      config:
        # 配置中心地址
        server-addr: 192.168.110.111:8848
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/RegionController.java
New file
@@ -0,0 +1,27 @@
package com.ruoyi.system.controller;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.Region;
import com.ruoyi.system.service.RegionService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/region")
@Tag(name = "区域管理")
public class RegionController {
    @Autowired
    private RegionService regionService;
    @GetMapping("/tree")
    @Operation(summary = "获取区域树")
    public R<List<Region>> getRegionTree() {
        return R.ok(regionService.getRegionTree());
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RegionMapper.java
New file
@@ -0,0 +1,7 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.system.api.domain.Region;
public interface RegionMapper extends BaseMapper<Region> {
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/RegionService.java
New file
@@ -0,0 +1,10 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.api.domain.Region;
import java.util.List;
public interface RegionService extends IService<Region> {
    List<Region> getRegionTree();
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RegionServiceImpl.java
New file
@@ -0,0 +1,57 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.api.domain.Region;
import com.ruoyi.system.mapper.RegionMapper;
import com.ruoyi.system.service.RegionService;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class RegionServiceImpl extends ServiceImpl<RegionMapper, Region> implements RegionService {
    @Override
    public List<Region> getRegionTree() {
        // 查询所有数据
        List<Region> allRegions = list();
        // 构建树形结构
        return buildTree(allRegions);
    }
    /**
     * 构建树形结构
     *
     * @param allRegions 所有地区数据
     * @return 树形结构数据
     */
    private List<Region> buildTree(List<Region> allRegions) {
        // 1. 找到所有省份(parentId为null或0)
        List<Region> provinces = allRegions.stream()
                .filter(region -> region.getParentId() == null || region.getParentId() == 0)
                .collect(Collectors.toList());
        // 2. 递归设置子节点
        provinces.forEach(province -> {
            province.setChildren(getChildren(province, allRegions));
        });
        return provinces;
    }
    /**
     * 递归获取子节点
     *
     * @param parent     父节点
     * @param allRegions 所有地区数据
     * @return 子节点列表
     */
    private List<Region> getChildren(Region parent, List<Region> allRegions) {
        return allRegions.stream()
                .filter(region -> parent.getId().equals(region.getParentId()))
                .peek(region -> region.setChildren(getChildren(region, allRegions)))
                .collect(Collectors.toList());
    }
}
ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml
@@ -15,6 +15,7 @@
      discovery:
        # 服务注册地址
        server-addr: 192.168.110.111:8848
        ip: 192.168.110.111
      config:
        # 配置中心地址
        server-addr: 192.168.110.111:8848