From 86e51e9199540ca5fe29b49d5fbe2f3476a0449d Mon Sep 17 00:00:00 2001
From: yupeng <roc__yu@163.com>
Date: 星期二, 21 一月 2025 15:53:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into xizang-changyun

---
 ruoyi-system/src/main/java/com/ruoyi/system/dto/TTenantDTO.java                      |   10 ++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTenantController.java        |   89 +++++++++++++++++
 ruoyi-applet/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java              |    4 
 ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java               |    4 
 ruoyi-system/src/main/resources/mapper/system/TTenantMapper.xml                      |   19 +++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java |    5 +
 ruoyi-system/src/main/java/com/ruoyi/system/service/TTenantService.java              |    8 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java      |   34 ++++++
 ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessType.java                  |   20 ---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java     |   12 ++
 ruoyi-system/src/main/java/com/ruoyi/system/model/TTenant.java                       |   17 +++
 ruoyi-system/src/main/java/com/ruoyi/system/query/TTenantQuery.java                  |   21 ++++
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TTenantMapper.java                |   14 ++
 13 files changed, 230 insertions(+), 27 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java
index 602f5d8..175648d 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java
@@ -1,9 +1,19 @@
 package com.ruoyi.web.controller.api;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.system.model.TContract;
+import com.ruoyi.system.model.TTenant;
+import com.ruoyi.system.query.TTenantQuery;
+import com.ruoyi.system.service.TContractService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RestController;
+import java.util.List;
 
 /**
  * <p>
@@ -13,9 +23,29 @@
  * @author xiaochen
  * @since 2025-01-17
  */
+@Api(tags = "合同管理")
 @RestController
 @RequestMapping("/t-contract")
 public class TContractController {
 
+    private final TContractService contractService;
+
+    @Autowired
+    public TContractController(TContractService contractService) {
+        this.contractService = contractService;
+    }
+
+
+    /**
+     * 查询用户合同列表
+     */
+    @ApiOperation(value = "查询用户合同列表")
+    @GetMapping(value = "/queryListByTenantId")
+    public AjaxResult<PageInfo<TTenant>> queryListByTenantId(@RequestParam String tenantId) {
+        List<TContract> list = contractService.list(Wrappers.lambdaQuery(TContract.class)
+                .eq(TContract::getTenantId, tenantId));
+        return AjaxResult.success(list);
+    }
+
 }
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTenantController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTenantController.java
index 4a1134b..10fe7a4 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTenantController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTenantController.java
@@ -1,9 +1,23 @@
 package com.ruoyi.web.controller.api;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.dto.TTenantDTO;
+import com.ruoyi.system.model.TTenant;
+import com.ruoyi.system.query.TTenantQuery;
+import com.ruoyi.system.service.TTenantService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RestController;
+import java.util.List;
 
 /**
  * <p>
@@ -13,9 +27,80 @@
  * @author xiaochen
  * @since 2025-01-17
  */
+@Api(tags = "租户管理")
 @RestController
 @RequestMapping("/t-tenant")
 public class TTenantController {
 
+    private final TTenantService tenantService;
+    @Autowired
+    public TTenantController(TTenantService tenantService) {
+        this.tenantService = tenantService;
+    }
+
+    /**
+     * 获取租户管理列表
+     */
+    @ApiOperation(value = "获取租户分页列表")
+    @PostMapping(value = "/pageList")
+    public AjaxResult<PageInfo<TTenant>> pageList(@RequestBody TTenantQuery query) {
+        return AjaxResult.success(tenantService.pageList(query));
+    }
+
+    /**
+     * 添加租户管理
+     */
+    @Log(title = "租户信息-新增租户", businessType = BusinessType.INSERT)
+    @ApiOperation(value = "添加租户")
+    @PostMapping(value = "/add")
+    public AjaxResult<Boolean> add(@Validated @RequestBody TTenantDTO dto) {
+        // 密码加密
+        dto.setPassword(SecurityUtils.encryptPassword(dto.getPassword()));
+        return AjaxResult.success(tenantService.save(dto));
+    }
+
+    /**
+     * 修改租户
+     */
+    @Log(title = "租户信息-修改租户", businessType = BusinessType.UPDATE)
+    @ApiOperation(value = "修改租户")
+    @PostMapping(value = "/update")
+    public AjaxResult<Boolean> update(@Validated @RequestBody TTenantDTO dto) {
+        // 密码加密
+        if(StringUtils.isNotBlank(dto.getPassword())){
+            dto.setPassword(SecurityUtils.encryptPassword(dto.getPassword()));
+        }
+        return AjaxResult.success(tenantService.updateById(dto));
+    }
+
+    /**
+     * 查看租户详情
+     */
+    @ApiOperation(value = "查看租户详情")
+    @GetMapping(value = "/getDetailById")
+    public AjaxResult<TTenant> getDetailById(@RequestParam Long id) {
+        return AjaxResult.success(tenantService.getById(id));
+    }
+
+    /**
+     * 删除租户
+     */
+    @Log(title = "租户信息-删除租户", businessType = BusinessType.DELETE)
+    @ApiOperation(value = "删除租户")
+    @DeleteMapping(value = "/deleteById")
+    public AjaxResult<Boolean> deleteById(@RequestParam Long id) {
+        return AjaxResult.success(tenantService.removeById(id));
+    }
+
+    /**
+     * 批量删除租户
+     */
+    @Log(title = "租户信息-删除租户", businessType = BusinessType.DELETE)
+    @ApiOperation(value = "批量删除租户")
+    @DeleteMapping(value = "/deleteByIds")
+    public AjaxResult<Boolean> deleteByIds(@RequestBody List<Long> ids) {
+        return AjaxResult.success(tenantService.removeByIds(ids));
+    }
+
 }
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java
index d8f207d..18f47f7 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java
@@ -3,6 +3,9 @@
 import java.util.ArrayList;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
@@ -30,6 +33,7 @@
  * 
  * @author ruoyi
  */
+@Api(tags = "数据字典信息")
 @RestController
 @RequestMapping("/system/dict/data")
 public class SysDictDataController extends BaseController
@@ -72,6 +76,7 @@
     /**
      * 根据字典类型查询字典数据信息
      */
+    @ApiOperation(value = "根据字典类型查询字典数据信息")
     @GetMapping(value = "/type/{dictType}")
     public AjaxResult dictType(@PathVariable String dictType)
     {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java b/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java
index 04be365..b652bc3 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java
@@ -113,9 +113,9 @@
         // 用ApiInfoBuilder进行定制
         return new ApiInfoBuilder()
                 // 设置标题
-                .title("标题:阿坝移动管理系统_接口文档")
+                .title("标题:西藏国投管理系统_接口文档")
                 // 描述
-                .description("阿坝移动接口文档")
+                .description("西藏国投接口文档")
                 // 作者信息
                 .contact(new Contact(ruoyiConfig.getName(), null, null))
                 // 版本
diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java b/ruoyi-applet/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java
index 04be365..b652bc3 100644
--- a/ruoyi-applet/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java
+++ b/ruoyi-applet/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java
@@ -113,9 +113,9 @@
         // 用ApiInfoBuilder进行定制
         return new ApiInfoBuilder()
                 // 设置标题
-                .title("标题:阿坝移动管理系统_接口文档")
+                .title("标题:西藏国投管理系统_接口文档")
                 // 描述
-                .description("阿坝移动接口文档")
+                .description("西藏国投接口文档")
                 // 作者信息
                 .contact(new Contact(ruoyiConfig.getName(), null, null))
                 // 版本
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessType.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessType.java
index 97e7d37..5a5ce48 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessType.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/BusinessType.java
@@ -57,23 +57,7 @@
      */
     CLEAN,
     /**
-     * 现场作业修改时间
+     * 查询
      */
-    UPDATETIME,
-    /**
-     * 现场作业修改经理
-     */
-    UPDATEMANAGER,
-    /**
-     * 现场作业修改负责人
-     */
-    UPDATEHEADER,
-    /**
-     * 现场作业修改人员
-     */
-    UPDATEUSERADD,
-    /**
-     * 现场作业修改人员
-     */
-    UPDATEUSERREMOVE,
+    SELECT,
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/TTenantDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TTenantDTO.java
new file mode 100644
index 0000000..d52799f
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TTenantDTO.java
@@ -0,0 +1,10 @@
+package com.ruoyi.system.dto;
+
+import com.ruoyi.system.model.TTenant;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "租户DTO")
+public class TTenantDTO extends TTenant {
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TTenantMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TTenantMapper.java
index 6eb7042..8bf23ff 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TTenantMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TTenantMapper.java
@@ -1,7 +1,12 @@
 package com.ruoyi.system.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.system.model.TTenant;
+import com.ruoyi.system.query.TTenantQuery;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +18,13 @@
  */
 public interface TTenantMapper extends BaseMapper<TTenant> {
 
+    /**
+     * 获取租户分页列表
+     * @param query
+     * @param pageInfo
+     * @return
+     */
+    List<TTenant> pageList(@Param("query") TTenantQuery query, @Param("pageInfo")PageInfo<TTenant> pageInfo);
+
+
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TTenant.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TTenant.java
index eb538e9..7ec52d0 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TTenant.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TTenant.java
@@ -14,6 +14,9 @@
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
 /**
  * <p>
  * 租户
@@ -34,10 +37,12 @@
     private String id;
 
     @ApiModelProperty(value = "住户名称")
+    @NotBlank(message = "住户名称不能为空")
     @TableField("resident_name")
     private String residentName;
 
     @ApiModelProperty(value = "入住时间")
+    @NotNull(message = "入住时间不能为空")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @TableField("checkIn_time")
     private LocalDateTime checkinTime;
@@ -63,10 +68,12 @@
     private Integer buildingArea;
 
     @ApiModelProperty(value = "联系电话")
+    @NotBlank(message = "联系电话不能为空")
     @TableField("phone")
     private String phone;
 
     @ApiModelProperty(value = "证件号码")
+    @NotBlank(message = "证件号码不能为空")
     @TableField("id_card")
     private String idCard;
 
@@ -75,6 +82,7 @@
     private String email;
 
     @ApiModelProperty(value = "银行转账专号")
+    @NotBlank(message = "银行转账专号不能为空")
     @TableField("bank_number")
     private String bankNumber;
 
@@ -82,4 +90,13 @@
     @TableField("mail_address")
     private String mailAddress;
 
+    @ApiModelProperty(value = "登录账号")
+    @NotBlank(message = "登录账号不能为空")
+    @TableField("account")
+    private String account;
+
+    @ApiModelProperty(value = "登录密码")
+    @TableField("password")
+    private String password;
+
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TTenantQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TTenantQuery.java
new file mode 100644
index 0000000..28652a0
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TTenantQuery.java
@@ -0,0 +1,21 @@
+package com.ruoyi.system.query;
+
+import com.ruoyi.common.core.domain.BasePage;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "租户查询Query")
+public class TTenantQuery extends BasePage {
+
+    @ApiModelProperty(value = "租户姓名")
+    private String tenantName;
+
+    @ApiModelProperty(value = "联系电话")
+    private String phone;
+
+
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TTenantService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TTenantService.java
index 992fb71..883c195 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TTenantService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TTenantService.java
@@ -1,7 +1,9 @@
 package com.ruoyi.system.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.system.model.TTenant;
+import com.ruoyi.system.query.TTenantQuery;
 
 /**
  * <p>
@@ -13,4 +15,10 @@
  */
 public interface TTenantService extends IService<TTenant> {
 
+    /**
+     * 获取租户分页列表
+     * @param query
+     * @return
+     */
+    PageInfo<TTenant> pageList(TTenantQuery query);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java
index 700c385..068a061 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java
@@ -1,10 +1,15 @@
 package com.ruoyi.system.service.impl;
 
+import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.system.mapper.TTenantMapper;
 import com.ruoyi.system.model.TTenant;
+import com.ruoyi.system.query.TTenantQuery;
 import com.ruoyi.system.service.TTenantService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.system.vo.SysUserVO;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
 
 /**
  * <p>
@@ -17,4 +22,11 @@
 @Service
 public class TTenantServiceImpl extends ServiceImpl<TTenantMapper, TTenant> implements TTenantService {
 
+    @Override
+    public PageInfo<TTenant> pageList(TTenantQuery query) {
+        PageInfo<TTenant> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
+        List<TTenant> list = this.baseMapper.pageList(query,pageInfo);
+        pageInfo.setRecords(list);
+        return pageInfo;
+    }
 }
diff --git a/ruoyi-system/src/main/resources/mapper/system/TTenantMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TTenantMapper.xml
index 24ecc4b..96f74cc 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TTenantMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TTenantMapper.xml
@@ -22,11 +22,28 @@
         <result column="create_by" property="createBy" />
         <result column="update_by" property="updateBy" />
         <result column="disabled" property="disabled" />
+        <result column="account" property="account" />
+        <result column="password" property="password" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, resident_name, checkIn_time, tenant_attributes, tenant_type, tenant_building, room_number, building_area, phone, id_card, email, bank_number, mail_address, create_time, update_time, create_by, update_by, disabled
+        id, resident_name, checkIn_time, tenant_attributes, tenant_type, tenant_building, room_number, building_area, phone, id_card, email,
+            bank_number, mail_address, create_time, update_time, create_by, update_by, disabled,account,password
     </sql>
+    <select id="pageList" resultType="com.ruoyi.system.model.TTenant">
+        SELECT <include refid="Base_Column_List"/>
+        FROM t_tenant
+        <where>
+            <if test="residentName != null and residentName != ''">
+                AND resident_name LIKE concat('%',#{residentName},'%')
+            </if>
+            <if test="phone != null and phone != ''">
+                AND phone LIKE concat('%',#{phone},'%')
+            </if>
+            AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
+        </where>
+        ORDER BY create_time DESC
+    </select>
 
 </mapper>

--
Gitblit v1.7.1