From 95985b5a5bb7c5656098cc8923ed3d1d8aaa3d2b Mon Sep 17 00:00:00 2001
From: yupeng <roc__yu@163.com>
Date: 星期五, 24 一月 2025 10:44:59 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into xizang-changyun
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TencentCosUtil.java | 161 ++++++++++
ruoyi-admin/src/main/resources/application-test.yml | 8
ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml | 7
ruoyi-system/src/main/java/com/ruoyi/system/dto/TContractDTO.java | 29 +
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml | 2
ruoyi-common/src/main/java/com/ruoyi/common/constant/DictConstants.java | 18 +
ruoyi-system/src/main/java/com/ruoyi/system/model/TBill.java | 2
ruoyi-admin/src/main/resources/mybatis-config.xml | 2
ruoyi-system/src/main/resources/mapper/system/TTenantMapper.xml | 18
ruoyi-system/src/main/java/com/ruoyi/system/vo/TenantVO.java | 21 +
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/THouseController.java | 29 +
ruoyi-system/src/main/java/com/ruoyi/system/service/TTenantService.java | 3
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/THouseServiceImpl.java | 18 +
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java | 13
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java | 15
ruoyi-system/src/main/java/com/ruoyi/system/model/THouse.java | 3
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/COSController.java | 48 +++
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TContractMapper.java | 6
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TTenantController.java | 34 +
ruoyi-system/pom.xml | 6
ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml | 17 +
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java | 5
ruoyi-system/src/main/java/com/ruoyi/system/vo/TContractVO.java | 35 ++
/dev/null | 51 ---
ruoyi-system/src/main/java/com/ruoyi/system/model/TContractRentType.java | 7
ruoyi-system/src/main/java/com/ruoyi/system/service/TContractService.java | 3
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java | 126 +++++--
ruoyi-admin/src/main/resources/application-prod.yml | 8
ruoyi-system/src/main/java/com/ruoyi/system/model/TInvoice.java | 4
sql/xizang.sql | 159 ++++++++-
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java | 13
ruoyi-system/src/main/java/com/ruoyi/system/model/TTenant.java | 20
ruoyi-system/src/main/java/com/ruoyi/system/query/TContractQuery.java | 19 +
ruoyi-system/src/main/java/com/ruoyi/system/query/TTenantQuery.java | 2
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TTenantMapper.java | 3
ruoyi-system/src/main/java/com/ruoyi/system/model/TContract.java | 12
36 files changed, 751 insertions(+), 176 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/COSController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/COSController.java
new file mode 100644
index 0000000..5fe8e8d
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/COSController.java
@@ -0,0 +1,48 @@
+package com.ruoyi.web.controller.api;
+
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.web.controller.tool.TencentCosUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import java.io.OutputStream;
+
+/**
+ * @author HJL
+ * @version 1.0
+ * @since 2024-05-30 9:27
+ */
+@RestController
+@RequestMapping("/cos")
+@Api(tags = "公共-文件上传")
+public class COSController {
+
+ @Resource
+ private TencentCosUtil tencentCosUtil;
+
+ @PostMapping("/upload")
+ @ApiOperation(value = "文件上传", tags = "公共-文件上传")
+ @ApiImplicitParams({
+ @ApiImplicitParam(value = "文件", name = "file", dataType = "MultipartFile", required = true)
+ })
+ public R<String> upload(@RequestParam("file") MultipartFile file) {
+ String url = tencentCosUtil.upLoadFile(file);
+ return R.ok(url, url);
+ }
+ @PostMapping("/download")
+ @ApiOperation(value = "文件下载", tags = "公共-文件下载")
+ @ApiImplicitParams({
+ @ApiImplicitParam(value = "文件url", name = "url", dataType = "String", required = true)
+ })
+ public void upload(@RequestParam("url") String url) {
+ tencentCosUtil.downLoadFile(url);
+ }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OssController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OssController.java
deleted file mode 100644
index d84919e..0000000
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OssController.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.ruoyi.web.controller.api;
-
-import com.aliyun.oss.OSSClient;
-import com.aliyun.oss.model.ObjectMetadata;
-import com.aliyun.oss.model.PutObjectRequest;
-import com.aliyun.oss.model.PutObjectResult;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-
-import java.io.IOException;
-
-@CrossOrigin
-@RestController
-@RequestMapping("/base/oss")
-class OssController {
-
- private static final String endpoint = "oss-cn-chengdu.aliyuncs.com";
- private static final String accessKeyId = "LTAI5tCQHjSsP7TXuyjSG1PJ";
- private static final String accessKeySecret = "RIDXxzOrdMS0V8vQDT53MGvAgsegRV";
- private static final String bucketName = "inspectionbucket";
-
- @PostMapping("/upload")
- @ApiOperation(value = "文件上传",tags = "文件上传")
- public ResponseEntity<String> upload(@RequestParam("file") MultipartFile file) throws IOException {
- // 创建 OSSClient 实例
- OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
-
-
- // 创建 PutObjectRequest 对象
- PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, file.getOriginalFilename(), file.getInputStream());
-
- ObjectMetadata metadata = new ObjectMetadata();
- // 取消文件缓存,文件每次都会从OSS服务器获取
- metadata.setHeader("Cache-Control", "no-cache");
- metadata.setHeader("Expires", "0");
-
-
- // 上传文件
- PutObjectResult putObjectResult = ossClient.putObject(putObjectRequest);
-
- // 关闭 OSSClient 实例
- ossClient.shutdown();
-
- String fileUrl = "https://" + bucketName + "." + endpoint + "/" + file.getOriginalFilename();
- return ResponseEntity.ok(fileUrl);
- }
-
-
-}
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 fc28438..108901e 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,22 +1,37 @@
package com.ruoyi.web.controller.api;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.dto.TContractDTO;
import com.ruoyi.system.dto.THouseDTO;
+import com.ruoyi.system.model.TContract;
+import com.ruoyi.system.model.TContractRentType;
import com.ruoyi.system.model.THouse;
+import com.ruoyi.system.query.TContractQuery;
import com.ruoyi.system.query.THouseQuery;
import com.ruoyi.system.query.TUserHistoryQuery;
+import com.ruoyi.system.service.TContractRentTypeService;
import com.ruoyi.system.service.TContractService;
import com.ruoyi.system.service.THouseService;
import com.ruoyi.system.vo.HouseVO;
import io.swagger.annotations.Api;
+import com.ruoyi.system.vo.TContractVO;
+import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
+
+import java.time.LocalDateTime;
+import java.util.Arrays;
+import java.util.List;
/**
* <p>
@@ -32,39 +47,82 @@
public class TContractController {
@Autowired
private TContractService contractService;
-// @Log(title = "房屋基础信息管理-新增房屋", businessType = BusinessType.INSERT)
-// @ApiOperation(value = "新增房屋")
-// @PostMapping(value = "/addHouse")
-// public AjaxResult<Boolean> addHouse(@Validated @RequestBody THouseDTO dto) {
-// return AjaxResult.success(contractService.save(dto));
-// }
-// @Log(title = "房屋基础信息管理-编辑房屋", businessType = BusinessType.UPDATE)
-// @ApiOperation(value = "编辑房屋")
-// @PostMapping(value = "/updateHouse")
-// public AjaxResult<Boolean> updateHouse(@Validated @RequestBody THouseDTO dto) {
-// return AjaxResult.success(contractService.updateById(dto));
-// }
-// @Log(title = "房屋基础信息管理-查询房屋信息", businessType = BusinessType.DELETE)
-// @ApiOperation(value = "查询房屋信息")
-// @GetMapping(value = "/getHouseById")
-// public AjaxResult<THouse> getHouseById(@RequestParam Long id) {
-// return AjaxResult.success(contractService.getById(id));
-// }
-// @Log(title = "房屋基础信息管理-删除房屋", businessType = BusinessType.DELETE)
-// @ApiOperation(value = "删除房屋")
-// @DeleteMapping(value = "/deleteHouseById")
-// public AjaxResult<Boolean> deleteHouseById(@RequestParam Long id) {
-// return AjaxResult.success(contractService.removeById(id));
-// }
-// @ApiOperation(value = "获取房屋分页列表")
-// @PostMapping(value = "/houseList")
-// public AjaxResult<PageInfo<THouse>> houseList(@RequestBody THouseQuery query) {
-// return AjaxResult.success(contractService.houseList(query));
-// }
-// @ApiOperation(value = "历史租户列表")
-// @PostMapping(value = "/userHistoryList")
-// public AjaxResult<PageInfo<HouseVO>> userHistoryList(@RequestBody TUserHistoryQuery query) {
-// return AjaxResult.success(contractService.userHistoryList(query));
-// }
+ @Autowired
+ private TContractRentTypeService contractRentTypeService;
+ @Autowired
+ private THouseService houseService;
+ @ApiOperation(value = "获取合同分页列表")
+ @PostMapping(value = "/contractList")
+ public R<PageInfo<TContract>> contractList(@RequestBody TContractQuery query) {
+ return R.ok(contractService.contractList(query));
+ }
+ @Log(title = "合同管理-新增合同", businessType = BusinessType.INSERT)
+ @ApiOperation(value = "新增合同")
+ @PostMapping(value = "/addContract")
+ public R<Boolean> addContract(@Validated @RequestBody TContractDTO dto) {
+ contractService.save(dto);
+ if (dto.getIsIncreasing()==1){
+ TContractRentType tContractRentType = new TContractRentType();
+ tContractRentType.setContractId(dto.getId());
+ tContractRentType.setIncreasingDecreasing(dto.getIncreasingDecreasing());
+ tContractRentType.setIncreasingDecreasingType(dto.getIncreasingDecreasingType());
+ tContractRentType.setNumericalValue(dto.getNumericalValue());
+ tContractRentType.setChangeTime(dto.getChangeTime());
+ contractRentTypeService.save(tContractRentType);
+ }
+ return R.ok();
+ }
+ @Log(title = "合同管理-编辑合同", businessType = BusinessType.UPDATE)
+ @ApiOperation(value = "编辑合同")
+ @PostMapping(value = "/updateContract")
+ public R<Boolean> updateContract(@Validated @RequestBody TContractDTO dto) {
+ contractService.updateById(dto);
+ contractRentTypeService.remove(new LambdaQueryWrapper<TContractRentType>()
+ .eq(TContractRentType::getContractId,dto.getId()));
+ if (dto.getIsIncreasing()==1){
+ TContractRentType tContractRentType = new TContractRentType();
+ tContractRentType.setContractId(dto.getId());
+ tContractRentType.setIncreasingDecreasing(dto.getIncreasingDecreasing());
+ tContractRentType.setIncreasingDecreasingType(dto.getIncreasingDecreasingType());
+ tContractRentType.setNumericalValue(dto.getNumericalValue());
+ tContractRentType.setChangeTime(dto.getChangeTime());
+ contractRentTypeService.save(tContractRentType);
+ }
+ return R.ok();
+ }
+ @Log(title = "合同管理-批量删除合同", businessType = BusinessType.DELETE)
+ @ApiOperation(value = "批量删除合同")
+ @DeleteMapping(value = "/deleteContractByIds")
+ public R<Boolean> deleteContractByIds3
+ (@RequestParam String ids) {
+ if (StringUtils.isNotEmpty(ids)){
+ contractService.removeBatchByIds(Arrays.asList(ids.split(",")));
+ }
+ return R.ok();
+ }
+
+ @ApiOperation(value = "查询合同信息信息")
+ @GetMapping(value = "/getContractById")
+ public R<TContractVO> getContractById(@RequestParam String id) {
+ TContractVO res = new TContractVO();
+ TContract contract = contractService.getById(id);
+ BeanUtils.copyProperties(contract,res);
+ TContractRentType contractRentType = contractRentTypeService.lambdaQuery().eq(TContractRentType::getContractId, id).one();
+ if (contractRentType!=null){
+ BeanUtils.copyProperties(contractRentType,res);
+ }
+ TContract oldContract = contractService.getOne(new LambdaQueryWrapper<TContract>()
+ .eq(TContract::getHouseId,contract.getHouseId())
+ .eq(TContract::getStatus, 4)
+ .le(TContract::getStartTime, LocalDateTime.now())
+ .ge(TContract::getEndTime, LocalDateTime.now()));
+ THouse house = houseService.getById(contract.getHouseId());
+ if (oldContract!=null){
+ house.setTenantType(oldContract.getPayType());
+ }
+ res.setHouse(house);
+ return R.ok(res);
+ }
+
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/THouseController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/THouseController.java
index aaab61a..78fb2fd 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/THouseController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/THouseController.java
@@ -3,7 +3,8 @@
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
-import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.dto.THouseDTO;
import com.ruoyi.system.dto.TTenantDTO;
@@ -14,6 +15,7 @@
import com.ruoyi.system.query.TUserHistoryQuery;
import com.ruoyi.system.service.THouseService;
import com.ruoyi.system.vo.HouseVO;
+import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
@@ -27,6 +29,7 @@
* @author xiaochen
* @since 2025-01-17
*/
+@Api(tags = "房屋基础信息管理")
@RestController
@RequestMapping("/t-house")
public class THouseController {
@@ -35,36 +38,36 @@
@Log(title = "房屋基础信息管理-新增房屋", businessType = BusinessType.INSERT)
@ApiOperation(value = "新增房屋")
@PostMapping(value = "/addHouse")
- public AjaxResult<Boolean> addHouse(@Validated @RequestBody THouseDTO dto) {
- return AjaxResult.success(tHouseService.save(dto));
+ public R<Boolean> addHouse(@Validated @RequestBody THouseDTO dto) {
+ return R.ok(tHouseService.save(dto));
}
@Log(title = "房屋基础信息管理-编辑房屋", businessType = BusinessType.UPDATE)
@ApiOperation(value = "编辑房屋")
@PostMapping(value = "/updateHouse")
- public AjaxResult<Boolean> updateHouse(@Validated @RequestBody THouseDTO dto) {
- return AjaxResult.success(tHouseService.updateById(dto));
+ public R<Boolean> updateHouse(@Validated @RequestBody THouseDTO dto) {
+ return R.ok(tHouseService.updateById(dto));
}
@Log(title = "房屋基础信息管理-查询房屋信息", businessType = BusinessType.DELETE)
@ApiOperation(value = "查询房屋信息")
@GetMapping(value = "/getHouseById")
- public AjaxResult<THouse> getHouseById(@RequestParam Long id) {
- return AjaxResult.success(tHouseService.getById(id));
+ public R<THouse> getHouseById(@RequestParam String id) {
+ return R.ok(tHouseService.getById(id));
}
@Log(title = "房屋基础信息管理-删除房屋", businessType = BusinessType.DELETE)
@ApiOperation(value = "删除房屋")
@DeleteMapping(value = "/deleteHouseById")
- public AjaxResult<Boolean> deleteHouseById(@RequestParam Long id) {
- return AjaxResult.success(tHouseService.removeById(id));
+ public R<Boolean> deleteHouseById(@RequestParam String id) {
+ return R.ok(tHouseService.removeById(id));
}
@ApiOperation(value = "获取房屋分页列表")
@PostMapping(value = "/houseList")
- public AjaxResult<PageInfo<THouse>> houseList(@RequestBody THouseQuery query) {
- return AjaxResult.success(tHouseService.houseList(query));
+ public R<PageInfo<THouse>> houseList(@RequestBody THouseQuery query) {
+ return R.ok(tHouseService.houseList(query));
}
@ApiOperation(value = "历史租户列表")
@PostMapping(value = "/userHistoryList")
- public AjaxResult<PageInfo<HouseVO>> userHistoryList(@RequestBody TUserHistoryQuery query) {
- return AjaxResult.success(tHouseService.userHistoryList(query));
+ public R<PageInfo<HouseVO>> userHistoryList(@RequestBody TUserHistoryQuery query) {
+ return R.ok(tHouseService.userHistoryList(query));
}
}
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 10fe7a4..b2eeaaf 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
@@ -3,7 +3,7 @@
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
-import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
@@ -11,9 +11,11 @@
import com.ruoyi.system.model.TTenant;
import com.ruoyi.system.query.TTenantQuery;
import com.ruoyi.system.service.TTenantService;
+import com.ruoyi.system.vo.TenantVO;
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;
import org.springframework.web.bind.annotation.*;
@@ -41,65 +43,71 @@
/**
* 获取租户管理列表
*/
+ @PreAuthorize("@ss.hasPermi('system:tenant:list')")
@ApiOperation(value = "获取租户分页列表")
@PostMapping(value = "/pageList")
- public AjaxResult<PageInfo<TTenant>> pageList(@RequestBody TTenantQuery query) {
- return AjaxResult.success(tenantService.pageList(query));
+ public R<PageInfo<TenantVO>> pageList(@RequestBody TTenantQuery query) {
+ return R.ok(tenantService.pageList(query));
}
/**
* 添加租户管理
*/
+ @PreAuthorize("@ss.hasPermi('system:tenant:add')")
@Log(title = "租户信息-新增租户", businessType = BusinessType.INSERT)
@ApiOperation(value = "添加租户")
@PostMapping(value = "/add")
- public AjaxResult<Boolean> add(@Validated @RequestBody TTenantDTO dto) {
+ public R<Boolean> add(@Validated @RequestBody TTenantDTO dto) {
// 密码加密
dto.setPassword(SecurityUtils.encryptPassword(dto.getPassword()));
- return AjaxResult.success(tenantService.save(dto));
+ return R.ok(tenantService.save(dto));
}
/**
* 修改租户
*/
+ @PreAuthorize("@ss.hasPermi('system:tenant:update')")
@Log(title = "租户信息-修改租户", businessType = BusinessType.UPDATE)
@ApiOperation(value = "修改租户")
@PostMapping(value = "/update")
- public AjaxResult<Boolean> update(@Validated @RequestBody TTenantDTO dto) {
+ public R<Boolean> update(@Validated @RequestBody TTenantDTO dto) {
// 密码加密
if(StringUtils.isNotBlank(dto.getPassword())){
dto.setPassword(SecurityUtils.encryptPassword(dto.getPassword()));
}
- return AjaxResult.success(tenantService.updateById(dto));
+ return R.ok(tenantService.updateById(dto));
}
/**
* 查看租户详情
*/
+ @PreAuthorize("@ss.hasPermi('system:tenant:detail')")
@ApiOperation(value = "查看租户详情")
@GetMapping(value = "/getDetailById")
- public AjaxResult<TTenant> getDetailById(@RequestParam Long id) {
- return AjaxResult.success(tenantService.getById(id));
+ public R<TTenant> getDetailById(@RequestParam String id) {
+ return R.ok(tenantService.getById(id));
}
/**
* 删除租户
*/
+ @PreAuthorize("@ss.hasPermi('system:tenant:delete')")
@Log(title = "租户信息-删除租户", businessType = BusinessType.DELETE)
@ApiOperation(value = "删除租户")
@DeleteMapping(value = "/deleteById")
- public AjaxResult<Boolean> deleteById(@RequestParam Long id) {
- return AjaxResult.success(tenantService.removeById(id));
+ public R<Boolean> deleteById(@RequestParam String id) {
+ return R.ok(tenantService.removeById(id));
}
/**
* 批量删除租户
*/
+ @PreAuthorize("@ss.hasPermi('system:tenant:delete')")
@Log(title = "租户信息-删除租户", businessType = BusinessType.DELETE)
@ApiOperation(value = "批量删除租户")
@DeleteMapping(value = "/deleteByIds")
- public AjaxResult<Boolean> deleteByIds(@RequestBody List<Long> ids) {
- return AjaxResult.success(tenantService.removeByIds(ids));
+ public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
+ return R.ok(tenantService.removeByIds(ids));
}
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
index 310a24a..3475998 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -194,6 +194,21 @@
return AjaxResult.success(sysUser);
}
+ /**
+ * 获取用户详情
+ */
+ @ApiOperation(value = "获取用户详情")
+ @GetMapping("/queryDetail")
+ public AjaxResult queryDetail()
+ {
+ Long userId = tokenService.getLoginUser().getUserId();
+ SysUser sysUser = userService.selectUserById(userId);
+ SysUserVO sysUserVO = new SysUserVO();
+ BeanUtils.copyProperties(sysUser,sysUserVO);
+
+ return AjaxResult.success(sysUser);
+ }
+
/**
* 获取用户数量统计
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TencentCosUtil.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TencentCosUtil.java
new file mode 100644
index 0000000..be2bdbb
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TencentCosUtil.java
@@ -0,0 +1,161 @@
+package com.ruoyi.web.controller.tool;
+
+import com.qcloud.cos.COSClient;
+import com.qcloud.cos.ClientConfig;
+import com.qcloud.cos.auth.BasicCOSCredentials;
+import com.qcloud.cos.auth.COSCredentials;
+import com.qcloud.cos.exception.CosClientException;
+import com.qcloud.cos.exception.CosServiceException;
+import com.qcloud.cos.http.HttpProtocol;
+import com.qcloud.cos.model.COSObject;
+import com.qcloud.cos.model.GetObjectRequest;
+import com.qcloud.cos.model.ObjectMetadata;
+import com.qcloud.cos.model.PutObjectResult;
+import com.qcloud.cos.region.Region;
+import com.qcloud.cos.utils.IOUtils;
+import com.ruoyi.common.utils.WebUtils;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.UUID;
+
+/**
+ * @author HJL
+ */
+@Component
+public class TencentCosUtil {
+
+ /**
+ * COS的SecretId
+ */
+ @Value("${cos.client.accessKey}")
+ private String secretId;
+ /**
+ * COS的SecretKey
+ */
+ @Value("${cos.client.secretKey}")
+ private String secretKey;
+ /**
+ * 文件上传后访问路径的根路径,后面要最佳文件名字与类型
+ */
+ @Value("${cos.client.rootSrc}")
+ private String rootSrc;
+ /**
+ * 上传的存储桶的地域
+ */
+ @Value("${cos.client.bucketAddr}")
+ private String bucketAddr;
+ /**
+ * 存储桶的名字,是自己在存储空间自己创建的,我创建的名字是:qq-test-1303******
+ */
+ @Value("${cos.client.bucket}")
+ private String bucketName;
+ /**
+ * 文件存放位置
+ */
+ @Value("${cos.client.location}")
+ private String location;
+
+ /**
+ * 1.调用静态方法getCosClient()就会获得COSClient实例
+ * 2.本方法根据永久密钥初始化 COSClient的,官方是不推荐,官方推荐使用临时密钥,是可以限制密钥使用权限,创建cred时有些区别
+ *
+ * @return COSClient实例
+ */
+ private COSClient getCosClient() {
+ // 1 初始化用户身份信息(secretId, secretKey)。
+ COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);
+ // 2.1 设置存储桶的地域(上文获得)
+ Region region = new Region(bucketAddr);
+ ClientConfig clientConfig = new ClientConfig(region);
+ // 2.2 使用https协议传输
+ clientConfig.setHttpProtocol(HttpProtocol.https);
+ // 生成 cos 客户端
+ return new COSClient(cred, clientConfig);
+ }
+
+ /**
+ * 只要调用静态方法upLoadFile(MultipartFile multipartFile)就可以获取上传后文件的全路径
+ *
+ * @param file
+ * @return 返回文件的浏览全路径
+ */
+ public String upLoadFile(MultipartFile file) {
+ try {
+ // 获取上传的文件的输入流
+ InputStream inputStream = file.getInputStream();
+ // 避免文件覆盖,获取文件的原始名称,如123.jpg,然后通过截取获得文件的后缀,也就是文件的类型
+ String originalFilename = file.getOriginalFilename();
+ //获取文件的类型
+ String fileType = originalFilename.substring(originalFilename.lastIndexOf("."));
+ //使用UUID工具 创建唯一名称,放置文件重名被覆盖,在拼接上上命令获取的文件类型
+ String fileName = UUID.randomUUID() + fileType;
+ // 指定文件上传到 COS 上的路径,即对象键。最终文件会传到存储桶名字中的images文件夹下的fileName名字
+ String key = location+"/" + fileName;
+ // 创建上传Object的Metadata
+ ObjectMetadata objectMetadata = new ObjectMetadata();
+ // - 使用输入流存储,需要设置请求长度
+ objectMetadata.setContentLength(inputStream.available());
+ // - 设置缓存
+ objectMetadata.setCacheControl("no-cache");
+ // - 设置Content-Type
+ objectMetadata.setContentType(fileType);
+ //上传文件
+ PutObjectResult putResult = getCosClient().putObject(bucketName, key, inputStream, objectMetadata);
+ // 创建文件的网络访问路径
+ String url = rootSrc + key;
+ //关闭 cosClient,并释放 HTTP 连接的后台管理线程
+ getCosClient().shutdown();
+ return url;
+ } catch (Exception e) {
+ e.printStackTrace();
+ // 发生IO异常、COS连接异常等,返回空
+ return null;
+ }
+ }
+
+ /**
+ * 下载文件
+ * @param file
+ * @return
+ */
+ public void downLoadFile(String file) {
+ HttpServletResponse response = WebUtils.response();
+ String replace = file.replace(rootSrc, "");
+ COSCredentials cred = new BasicCOSCredentials(
+ secretId,
+ secretKey);
+ // 2.1 设置存储桶的地域(上文获得)
+ Region region = new Region(bucketAddr);
+ ClientConfig clientConfig = new ClientConfig(region);
+ // 2.2 使用https协议传输
+ clientConfig.setHttpProtocol(HttpProtocol.https);
+ COSClient cosClient = new COSClient(cred, clientConfig);
+ try {
+ // 5. 下载文件并获取输入流
+ InputStream inputStream = cosClient.getObject(bucketName, replace).getObjectContent();
+ ServletOutputStream outputStream = response.getOutputStream();
+ // 6. 处理输入流,例如读取内容或保存到本地文件
+ // 这里仅作示例,实际应用中需要根据需求处理输入流
+ byte[] buffer = new byte[1024];
+ int len;
+ while ((len = inputStream.read(buffer)) != -1) {
+ // 处理读取到的数据
+ outputStream.write(buffer, 0, len);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ // 7. 关闭输入流
+ cosClient.shutdown();
+ }
+ }
+// https://xzgttest-1305134071.cos.ap-chengdu.myqcloud.com/xizang/e4ea88b8-5470-456e-bf97-75cf47f38e84.jpg
+}
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml
index d12c582..ee46864 100644
--- a/ruoyi-admin/src/main/resources/application-prod.yml
+++ b/ruoyi-admin/src/main/resources/application-prod.yml
@@ -206,3 +206,11 @@
accessKeySecret: 0SRb6XGkciQDPWn2rYqbJtq2qRMDY8
signName: "四川金达通信工程"
templateCode: "SMS_293985284"
+cos:
+ client:
+ accessKey: AKIDCF5EF2c0DE1e5JK8r4EGJF4mNsMgp26x
+ secretKey: lLl184rUyFOOE0d5KNGC3kmfNsCWk4GU
+ bucket: xzgttest-1305134071
+ bucketAddr: ap-chengdu
+ rootSrc: https://xzgttest-1305134071.cos.ap-chengdu.myqcloud.com/
+ location: xizang
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/application-test.yml b/ruoyi-admin/src/main/resources/application-test.yml
index 9d492fd..2f6795f 100644
--- a/ruoyi-admin/src/main/resources/application-test.yml
+++ b/ruoyi-admin/src/main/resources/application-test.yml
@@ -205,3 +205,11 @@
accessKeySecret: 0SRb6XGkciQDPWn2rYqbJtq2qRMDY8
signName: "四川金达通信工程"
templateCode: "SMS_293985284"
+cos:
+ client:
+ accessKey: AKIDCF5EF2c0DE1e5JK8r4EGJF4mNsMgp26x
+ secretKey: lLl184rUyFOOE0d5KNGC3kmfNsCWk4GU
+ bucket: xzgttest-1305134071
+ bucketAddr: ap-chengdu
+ rootSrc: https://xzgttest-1305134071.cos.ap-chengdu.myqcloud.com/
+ location: xizang
diff --git a/ruoyi-admin/src/main/resources/mybatis-config.xml b/ruoyi-admin/src/main/resources/mybatis-config.xml
index 7d487eb..53c5587 100644
--- a/ruoyi-admin/src/main/resources/mybatis-config.xml
+++ b/ruoyi-admin/src/main/resources/mybatis-config.xml
@@ -10,7 +10,7 @@
<setting name="cacheEnabled" value="true"/>
<!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。默认 false -->
<!-- <setting name="lazyLoadingEnabled" value="true"/> -->
- <setting name="mapUnderscoreToCamelCase" value="false"/><!--是否将map下划线方式转为驼峰式命名-->
+ <setting name="mapUnderscoreToCamelCase" value="true"/><!--是否将map下划线方式转为驼峰式命名-->
<!-- 当开启时,任何方法的调用都会加载该对象的所有属性。默认 false,可通过select标签的 fetchType来覆盖-->
<!-- <setting name="aggressiveLazyLoading" value="false"/>-->
<!-- Mybatis 创建具有延迟加载能力的对象所用到的代理工具,默认JAVASSIST -->
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/DictConstants.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/DictConstants.java
new file mode 100644
index 0000000..73005e3
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/constant/DictConstants.java
@@ -0,0 +1,18 @@
+package com.ruoyi.common.constant;
+
+/**
+ * 缓存的key 常量
+ *
+ * @author ruoyi
+ */
+public class DictConstants
+{
+ /**
+ * 租户属性
+ */
+ public static final String DICT_TYPE_TENANT_ATTRIBUTE = "t_tenant_attribute";
+ /**
+ * 租户类型
+ */
+ public static final String DICT_TYPE_TENANT_TYPE = "t_tenant_type";
+}
diff --git a/ruoyi-system/pom.xml b/ruoyi-system/pom.xml
index 10998d3..f4f7c3b 100644
--- a/ruoyi-system/pom.xml
+++ b/ruoyi-system/pom.xml
@@ -16,7 +16,11 @@
</description>
<dependencies>
-
+ <dependency>
+ <groupId>com.qcloud</groupId>
+ <artifactId>cos_api</artifactId>
+ <version>5.6.227</version>
+ </dependency>
<!-- 通用工具-->
<dependency>
<groupId>com.ruoyi</groupId>
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/TContractDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TContractDTO.java
new file mode 100644
index 0000000..8bf0052
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TContractDTO.java
@@ -0,0 +1,29 @@
+package com.ruoyi.system.dto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.system.model.TContract;
+import com.ruoyi.system.model.TTenant;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Data
+@ApiModel(value = "合同新增编辑DTO")
+public class TContractDTO extends TContract {
+ @ApiModelProperty(value = "递增递减 1=递增 2=递减")
+ private Integer increasingDecreasing;
+
+ @ApiModelProperty(value = "递增递减形式 1=百分比 2=金额元")
+ private Integer increasingDecreasingType;
+
+ @ApiModelProperty(value = "数值")
+ private BigDecimal numericalValue;
+
+ @ApiModelProperty(value = "递增或递减时点")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private LocalDateTime changeTime;
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java
index a341f1e..c8bf9cf 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java
@@ -1,6 +1,8 @@
package com.ruoyi.system.mapper;
import java.util.List;
+
+import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.ruoyi.common.core.domain.entity.SysDictData;
@@ -9,6 +11,7 @@
*
* @author ruoyi
*/
+@Mapper
public interface SysDictDataMapper
{
/**
@@ -92,4 +95,6 @@
* @return 结果
*/
public int updateDictDataType(@Param("oldDictType") String oldDictType, @Param("newDictType") String newDictType);
+
+ public String selectDictDataByTypeAndValue(@Param("dictType")String dictType, @Param("dictValue")Integer dictValue);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TContractMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TContractMapper.java
index d5bc9f9..8c24731 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TContractMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TContractMapper.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.TContract;
+import com.ruoyi.system.query.TContractQuery;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
* <p>
@@ -13,4 +18,5 @@
*/
public interface TContractMapper extends BaseMapper<TContract> {
+ List<TContract> contractList(@Param("query") TContractQuery query, @Param("pageInfo") PageInfo<TContract> pageInfo);
}
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 8bf23ff..a93206e 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
@@ -4,6 +4,7 @@
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TTenant;
import com.ruoyi.system.query.TTenantQuery;
+import com.ruoyi.system.vo.TenantVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -24,7 +25,7 @@
* @param pageInfo
* @return
*/
- List<TTenant> pageList(@Param("query") TTenantQuery query, @Param("pageInfo")PageInfo<TTenant> pageInfo);
+ List<TenantVO> pageList(@Param("query") TTenantQuery query, @Param("pageInfo")PageInfo<TenantVO> pageInfo);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TBill.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TBill.java
index c75228c..7abdadb 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TBill.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TBill.java
@@ -42,7 +42,7 @@
@ApiModelProperty(value = "应缴费")
@TableField("payable_fees_money")
- private Double payableFeesMoney;
+ private BigDecimal payableFeesMoney;
@ApiModelProperty(value = "应缴费日期")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TContract.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TContract.java
index 6dc8972..4b73a95 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TContract.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TContract.java
@@ -61,7 +61,7 @@
@TableField("deposit")
private BigDecimal deposit;
- @ApiModelProperty(value = "租金支付方式 1=季付")
+ @ApiModelProperty(value = "租金支付方式 1=月付 2=季付 3=年付")
@TableField("pay_type")
private Integer payType;
@@ -114,7 +114,7 @@
@TableField("party_two_phone")
private String partyTwoPhone;
- @ApiModelProperty(value = "合同附件")
+ @ApiModelProperty(value = "合同附件,多个逗号拼接")
@TableField("contract_file")
private String contractFile;
@@ -122,8 +122,14 @@
@TableField("remark")
private String remark;
- @ApiModelProperty(value = "状态 1=待审批 2=未签订 3=已签订")
+ @ApiModelProperty(value = "状态 1=待提交 2=待审批 3=未签订 4=已签订")
@TableField("status")
private Integer status;
+ @ApiModelProperty(value = "内存大小多个文件逗号拼接")
+ @TableField("memory")
+ private Integer memory;
+ @ApiModelProperty(value = "附件名称 逗号拼接")
+ @TableField("contract_file_name")
+ private Integer contractFileName;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TContractRentType.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TContractRentType.java
index 35d8311..f3f45ae 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TContractRentType.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TContractRentType.java
@@ -6,7 +6,9 @@
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -47,5 +49,10 @@
@TableField("numerical_value")
private BigDecimal numericalValue;
+ @ApiModelProperty(value = "递增或递减时点")
+ @TableField("change_time")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private LocalDateTime changeTime;
+
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/THouse.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/THouse.java
index ba521cd..5c30185 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/THouse.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/THouse.java
@@ -88,4 +88,7 @@
@TableField("room_number")
private String roomNumber;
+ @ApiModelProperty(value = "住户类型 1月租 2季租 3年租")
+ @TableField(exist = false)
+ private Integer tenantType;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TInvoice.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TInvoice.java
index 6ee6c90..287b231 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TInvoice.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TInvoice.java
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
+
+import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
@@ -39,7 +41,7 @@
@ApiModelProperty(value = "金额")
@TableField("invoice_money")
- private Double invoiceMoney;
+ private BigDecimal invoiceMoney;
@ApiModelProperty(value = "申请人")
@TableField("apply_name")
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 7ec52d0..92a1d88 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
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
+
+import java.time.LocalDate;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
@@ -43,9 +45,9 @@
@ApiModelProperty(value = "入住时间")
@NotNull(message = "入住时间不能为空")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@TableField("checkIn_time")
- private LocalDateTime checkinTime;
+ private LocalDate checkinTime;
@ApiModelProperty(value = "租户属性")
@TableField("tenant_attributes")
@@ -53,19 +55,7 @@
@ApiModelProperty(value = "租户类型")
@TableField("tenant_type")
- private Integer tenantType;
-
- @ApiModelProperty(value = "租户楼栋")
- @TableField("tenant_building")
- private String tenantBuilding;
-
- @ApiModelProperty(value = "房号")
- @TableField("room_number")
- private String roomNumber;
-
- @ApiModelProperty(value = "建筑面积")
- @TableField("building_area")
- private Integer buildingArea;
+ private String tenantType;
@ApiModelProperty(value = "联系电话")
@NotBlank(message = "联系电话不能为空")
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TContractQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TContractQuery.java
new file mode 100644
index 0000000..5d90194
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TContractQuery.java
@@ -0,0 +1,19 @@
+package com.ruoyi.system.query;
+
+import com.ruoyi.common.core.domain.BasePage;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "合同分页列表查询Query")
+public class TContractQuery extends BasePage {
+ @ApiModelProperty(value = "乙方名称")
+ private String partyTwoName;
+ @ApiModelProperty(value = "合同编号")
+ private String contractNumber;
+ @ApiModelProperty(value = "合同名称")
+ private Integer contractName;
+ @ApiModelProperty(value = "合同状态 1=待提交 2=待审批 3=未签订 4=已签订")
+ private Integer status;
+}
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
index 28652a0..83e1748 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/query/TTenantQuery.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TTenantQuery.java
@@ -11,7 +11,7 @@
public class TTenantQuery extends BasePage {
@ApiModelProperty(value = "租户姓名")
- private String tenantName;
+ private String residentName;
@ApiModelProperty(value = "联系电话")
private String phone;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TContractService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TContractService.java
index 1cb1fd5..b580ba2 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TContractService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TContractService.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.TContract;
+import com.ruoyi.system.query.TContractQuery;
/**
* <p>
@@ -13,4 +15,5 @@
*/
public interface TContractService extends IService<TContract> {
+ PageInfo<TContract> contractList(TContractQuery query);
}
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 883c195..0357962 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
@@ -4,6 +4,7 @@
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TTenant;
import com.ruoyi.system.query.TTenantQuery;
+import com.ruoyi.system.vo.TenantVO;
/**
* <p>
@@ -20,5 +21,5 @@
* @param query
* @return
*/
- PageInfo<TTenant> pageList(TTenantQuery query);
+ PageInfo<TenantVO> pageList(TTenantQuery query);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java
index f598310..1cb2a34 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TContractServiceImpl.java
@@ -1,10 +1,15 @@
package com.ruoyi.system.service.impl;
+import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.mapper.TContractMapper;
import com.ruoyi.system.model.TContract;
+import com.ruoyi.system.model.TTenant;
+import com.ruoyi.system.query.TContractQuery;
import com.ruoyi.system.service.TContractService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
+
+import java.util.List;
/**
* <p>
@@ -17,4 +22,12 @@
@Service
public class TContractServiceImpl extends ServiceImpl<TContractMapper, TContract> implements TContractService {
+ @Override
+ public PageInfo<TContract> contractList(TContractQuery query) {
+ PageInfo<TContract> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
+ List<TContract> list = this.baseMapper.contractList(query,pageInfo);
+ pageInfo.setRecords(list);
+ return pageInfo;
+
+ }
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/THouseServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/THouseServiceImpl.java
index 594e1e1..436ae5f 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/THouseServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/THouseServiceImpl.java
@@ -1,7 +1,10 @@
package com.ruoyi.system.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.system.mapper.TContractMapper;
import com.ruoyi.system.mapper.THouseMapper;
+import com.ruoyi.system.model.TContract;
import com.ruoyi.system.model.THouse;
import com.ruoyi.system.query.THouseQuery;
import com.ruoyi.system.query.TUserHistoryQuery;
@@ -10,6 +13,8 @@
import com.ruoyi.system.vo.HouseVO;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
import java.util.List;
/**
@@ -22,11 +27,22 @@
*/
@Service
public class THouseServiceImpl extends ServiceImpl<THouseMapper, THouse> implements THouseService {
-
+ @Resource
+ private TContractMapper contractMapper;
@Override
public PageInfo<THouse> houseList(THouseQuery query) {
PageInfo<THouse> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
List<THouse> list = this.baseMapper.houseList(query,pageInfo);
+ List<TContract> tContracts = contractMapper.selectList(new LambdaQueryWrapper<TContract>()
+ .eq(TContract::getStatus, 4)
+ .le(TContract::getStartTime, LocalDateTime.now())
+ .ge(TContract::getEndTime, LocalDateTime.now()));
+ for (THouse tHouse : list) {
+ TContract tContract = tContracts.stream().filter(e -> e.getHouseId().equals(tHouse.getId())).findFirst().orElse(null);
+ if (tContract!=null){
+ tHouse.setTenantType(tContract.getPayType());
+ }
+ }
pageInfo.setRecords(list);
return pageInfo;
}
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 068a061..c6d65f1 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,12 +1,15 @@
package com.ruoyi.system.service.impl;
import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.constant.DictConstants;
+import com.ruoyi.common.utils.DictUtils;
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 com.ruoyi.system.vo.TenantVO;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -23,9 +26,13 @@
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);
+ public PageInfo<TenantVO> pageList(TTenantQuery query) {
+ PageInfo<TenantVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
+ List<TenantVO> list = this.baseMapper.pageList(query,pageInfo);
+ for (TenantVO tenantVO : list) {
+ tenantVO.setTenantAttributesName(DictUtils.getDictLabel(DictConstants.DICT_TYPE_TENANT_ATTRIBUTE,tenantVO.getTenantAttributes()));
+ tenantVO.setTenantTypeName(DictUtils.getDictLabel(DictConstants.DICT_TYPE_TENANT_TYPE,tenantVO.getTenantType()));
+ }
pageInfo.setRecords(list);
return pageInfo;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TContractVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TContractVO.java
new file mode 100644
index 0000000..ce55215
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TContractVO.java
@@ -0,0 +1,35 @@
+package com.ruoyi.system.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.system.model.TContract;
+import com.ruoyi.system.model.THouse;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Data
+@ApiModel(value = "合同详情页VO")
+public class TContractVO extends TContract {
+
+
+ @ApiModelProperty(value = "递增递减 1=递增 2=递减")
+ private Integer increasingDecreasing;
+
+ @ApiModelProperty(value = "递增递减形式 1=百分比 2=金额元")
+ private Integer increasingDecreasingType;
+
+ @ApiModelProperty(value = "数值")
+ private BigDecimal numericalValue;
+
+ @ApiModelProperty(value = "递增或递减时点")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private LocalDateTime changeTime;
+
+ @ApiModelProperty(value = "房屋信息")
+ private THouse house;
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TenantVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TenantVO.java
new file mode 100644
index 0000000..52566aa
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TenantVO.java
@@ -0,0 +1,21 @@
+package com.ruoyi.system.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.system.model.TTenant;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+@ApiModel(value = "租户列表VO")
+public class TenantVO extends TTenant {
+
+ @ApiModelProperty(value = "租户属性")
+ private String tenantAttributesName;
+
+ @ApiModelProperty(value = "租户类型")
+ private String tenantTypeName;
+
+}
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml
index 8da9030..4fae8d7 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml
@@ -59,8 +59,11 @@
<select id="countDictDataByType" resultType="Integer">
select count(1) from sys_dict_data where dict_type=#{dictType}
</select>
-
- <delete id="deleteDictDataById" parameterType="Long">
+ <select id="selectDictDataByTypeAndValue" resultType="java.lang.String">
+ select dict_label from sys_dict_data where dict_type=#{dictType} and dict_value=#{dictValue}
+ </select>
+
+ <delete id="deleteDictDataById" parameterType="Long">
delete from sys_dict_data where dict_code = #{dictCode}
</delete>
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
index c0b58fa..7336905 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -137,7 +137,7 @@
left join sys_user_role ur on u.user_id = ur.user_id
left join sys_role sr on ur.role_id = sr.role_id
left join sys_dept sd on u.dept_id = sd.dept_id
- where u.user_id = #{userId} and u.del_flag = 0 group by u.user_id
+ where u.user_id = #{userId} and u.del_flag = 0
</select>
<select id="checkUserNameUnique" parameterType="String" resultMap="SysUserResult">
diff --git a/ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml
index 6531e6f..27b7137 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TContractMapper.xml
@@ -38,5 +38,22 @@
<sql id="Base_Column_List">
id, contract_number, contract_name, start_time, end_time, total_rent, deposit, pay_type, first_pay_time, isIncreasing, isIncreasing_deposit, proportion, house_id, party_one_name, party_one_person, party_one_phone, tenant_id, party_two_name, party_two_person, party_two_phone, contract_file, remark, status, create_time, update_time, create_by, update_by, disabled
</sql>
+ <select id="contractList" resultType="com.ruoyi.system.model.TContract">
+ select t1.* from t_contract t1
+ <where>
+ <if test="query.partyTwoName != null and query.partyTwoName != ''">
+ and t1.party_two_name like concat('%',#{query.partyTwoName},'%')
+ </if>
+ <if test="query.contractNumber != null and query.contractNumber != ''">
+ and t1.contract_number like concat('%',#{query.contractNumber},'%')
+ </if>
+ <if test="query.contractName != null and query.contractName != ''">
+ and t1.contract_name like concat('%',#{query.contractName},'%')
+ </if>
+ <if test="query.status != null">
+ and t1.status = #{query.status}
+ </if>
+ </where>
+ </select>
</mapper>
diff --git a/ruoyi-system/src/main/resources/mapper/system/TTenantMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TTenantMapper.xml
index 96f74cc..ec45f48 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TTenantMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TTenantMapper.xml
@@ -9,9 +9,6 @@
<result column="checkIn_time" property="checkinTime" />
<result column="tenant_attributes" property="tenantAttributes" />
<result column="tenant_type" property="tenantType" />
- <result column="tenant_building" property="tenantBuilding" />
- <result column="room_number" property="roomNumber" />
- <result column="building_area" property="buildingArea" />
<result column="phone" property="phone" />
<result column="id_card" property="idCard" />
<result column="email" property="email" />
@@ -28,18 +25,19 @@
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
- id, resident_name, checkIn_time, tenant_attributes, tenant_type, tenant_building, room_number, building_area, phone, id_card, email,
+ id, resident_name, checkIn_time, tenant_attributes, tenant_type, 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"/>
+ <select id="pageList" resultType="com.ruoyi.system.vo.TenantVO">
+ SELECT id, resident_name, checkIn_time, tenant_attributes, tenant_type, phone, id_card, email,
+ bank_number, mail_address, create_time, disabled,account,
FROM t_tenant
<where>
- <if test="residentName != null and residentName != ''">
- AND resident_name LIKE concat('%',#{residentName},'%')
+ <if test="query.residentName != null and query.residentName != ''">
+ AND resident_name LIKE concat('%',#{query.residentName},'%')
</if>
- <if test="phone != null and phone != ''">
- AND phone LIKE concat('%',#{phone},'%')
+ <if test="query.phone != null and query.phone != ''">
+ AND phone LIKE concat('%',#{query.phone},'%')
</if>
AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
</where>
diff --git a/sql/xizang.sql b/sql/xizang.sql
index 3dd7b04..66d6c23 100644
--- a/sql/xizang.sql
+++ b/sql/xizang.sql
@@ -11,7 +11,7 @@
Target Server Version : 80019
File Encoding : 65001
- Date: 20/01/2025 10:22:50
+ Date: 21/01/2025 17:37:24
*/
SET NAMES utf8mb4;
@@ -235,7 +235,7 @@
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`config_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '参数配置表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '参数配置表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_config
@@ -268,7 +268,7 @@
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`dept_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '部门表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 200 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '部门表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_dept
@@ -304,7 +304,7 @@
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`dict_code`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 29 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典数据表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典数据表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_dict_data
@@ -338,6 +338,18 @@
INSERT INTO `sys_dict_data` VALUES (27, 9, '清空数据', '9', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2023-10-02 14:09:11', '', NULL, '清空操作');
INSERT INTO `sys_dict_data` VALUES (28, 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', '0', 'admin', '2023-10-02 14:09:11', '', NULL, '正常状态');
INSERT INTO `sys_dict_data` VALUES (29, 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', '0', 'admin', '2023-10-02 14:09:11', '', NULL, '停用状态');
+INSERT INTO `sys_dict_data` VALUES (30, 1, '个人', '1', 't_tenant_attribute', NULL, NULL, 'N', '0', 'admin', '2025-01-21 14:12:04', '', NULL, '属性个人');
+INSERT INTO `sys_dict_data` VALUES (31, 2, '企业', '2', 't_tenant_attribute', NULL, NULL, 'N', '0', 'admin', '2025-01-21 14:12:04', '', NULL, '属性企业');
+INSERT INTO `sys_dict_data` VALUES (32, 3, '联系人', '3', 't_tenant_attribute', NULL, NULL, 'N', '0', 'admin', '2025-01-21 14:12:04', '', NULL, '属性联系人');
+INSERT INTO `sys_dict_data` VALUES (33, 4, '个体户', '4', 't_tenant_attribute', NULL, NULL, 'N', '0', 'admin', '2025-01-21 14:12:04', '', NULL, '属性个体户');
+INSERT INTO `sys_dict_data` VALUES (34, 5, '政府机构', '5', 't_tenant_attribute', NULL, NULL, 'N', '0', 'admin', '2025-01-21 14:12:04', '', NULL, '属性政府机构');
+INSERT INTO `sys_dict_data` VALUES (35, 6, '车主', '6', 't_tenant_attribute', NULL, NULL, 'N', '0', 'admin', '2025-01-21 14:12:04', '', NULL, '属性车主');
+INSERT INTO `sys_dict_data` VALUES (36, 7, '国有企业', '7', 't_tenant_attribute', NULL, NULL, 'N', '0', 'admin', '2025-01-21 14:12:04', '', NULL, '属性国有企业');
+INSERT INTO `sys_dict_data` VALUES (37, 8, '其他', '8', 't_tenant_attribute', NULL, NULL, 'N', '0', 'admin', '2025-01-21 14:12:04', '', NULL, '属性其他');
+INSERT INTO `sys_dict_data` VALUES (38, 1, '业主', '1', 't_tenant_type', NULL, NULL, 'N', '0', 'admin', '2025-01-21 14:15:26', '', NULL, '类型业主');
+INSERT INTO `sys_dict_data` VALUES (39, 2, '业主家庭成员', '2', 't_tenant_type', NULL, NULL, 'N', '0', 'admin', '2025-01-21 14:15:26', '', NULL, '类型业主家庭成员');
+INSERT INTO `sys_dict_data` VALUES (40, 3, '租户', '3', 't_tenant_type', NULL, NULL, 'N', '0', 'admin', '2025-01-21 14:15:26', '', NULL, '类型租户');
+INSERT INTO `sys_dict_data` VALUES (41, 4, '租户家庭成员', '4', 't_tenant_type', NULL, NULL, 'N', '0', 'admin', '2025-01-21 14:15:26', '', NULL, '类型租户家庭成员');
-- ----------------------------
-- Table structure for sys_dict_type
@@ -370,6 +382,8 @@
INSERT INTO `sys_dict_type` VALUES (8, '通知状态', 'sys_notice_status', '0', 'admin', '2023-10-02 14:09:11', '', NULL, '通知状态列表');
INSERT INTO `sys_dict_type` VALUES (9, '操作类型', 'sys_oper_type', '0', 'admin', '2023-10-02 14:09:11', '', NULL, '操作类型列表');
INSERT INTO `sys_dict_type` VALUES (10, '系统状态', 'sys_common_status', '0', 'admin', '2023-10-02 14:09:11', '', NULL, '登录状态列表');
+INSERT INTO `sys_dict_type` VALUES (11, '租户属性', 't_tenant_attribute', '0', 'admin', '2025-01-21 14:05:14', '', NULL, '租户属性列表');
+INSERT INTO `sys_dict_type` VALUES (12, '租户类别', 't_tenant_type', '0', 'admin', '2025-01-21 14:05:47', '', NULL, '租户类别列表');
-- ----------------------------
-- Table structure for sys_job
@@ -390,7 +404,7 @@
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注信息',
PRIMARY KEY (`job_id`, `job_name`, `job_group`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务调度表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务调度表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_job
@@ -436,7 +450,7 @@
PRIMARY KEY (`info_id`) USING BTREE,
INDEX `idx_sys_logininfor_s`(`status`) USING BTREE,
INDEX `idx_sys_logininfor_lt`(`login_time`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1199 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统访问记录' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 1273 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统访问记录' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_logininfor
@@ -1541,6 +1555,101 @@
INSERT INTO `sys_logininfor` VALUES (1197, '17780483325', '192.168.110.91', '内网IP', 'Mobile Safari', 'iOS 11 (iPhone)', '0', '登录成功', '2024-03-04 10:03:38');
INSERT INTO `sys_logininfor` VALUES (1198, '17780483325', '192.168.110.29', '内网IP', 'Chrome Mobile', 'Android 1.x', '0', '登录成功', '2024-03-04 10:19:27');
INSERT INTO `sys_logininfor` VALUES (1199, '17780483325', '192.168.110.29', '内网IP', 'Chrome Mobile', 'Android 1.x', '0', '登录成功', '2024-03-04 10:34:13');
+INSERT INTO `sys_logininfor` VALUES (1200, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '1', '密码输入错误1次', '2025-01-20 17:46:06');
+INSERT INTO `sys_logininfor` VALUES (1201, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '1', '用户不存在/密码错误', '2025-01-20 17:46:06');
+INSERT INTO `sys_logininfor` VALUES (1202, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 17:47:51');
+INSERT INTO `sys_logininfor` VALUES (1203, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '1', '密码输入错误1次', '2025-01-20 17:48:50');
+INSERT INTO `sys_logininfor` VALUES (1204, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '1', '用户不存在/密码错误', '2025-01-20 17:48:50');
+INSERT INTO `sys_logininfor` VALUES (1205, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 17:48:56');
+INSERT INTO `sys_logininfor` VALUES (1206, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 17:49:19');
+INSERT INTO `sys_logininfor` VALUES (1207, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 17:49:21');
+INSERT INTO `sys_logininfor` VALUES (1208, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 17:49:35');
+INSERT INTO `sys_logininfor` VALUES (1209, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 17:51:29');
+INSERT INTO `sys_logininfor` VALUES (1210, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 17:51:32');
+INSERT INTO `sys_logininfor` VALUES (1211, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 17:51:48');
+INSERT INTO `sys_logininfor` VALUES (1212, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '1', '密码输入错误1次', '2025-01-20 17:52:06');
+INSERT INTO `sys_logininfor` VALUES (1213, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '1', '用户不存在/密码错误', '2025-01-20 17:52:06');
+INSERT INTO `sys_logininfor` VALUES (1214, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 17:52:10');
+INSERT INTO `sys_logininfor` VALUES (1215, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '1', '用户不存在/密码错误', '2025-01-20 17:52:27');
+INSERT INTO `sys_logininfor` VALUES (1216, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '1', '密码输入错误1次', '2025-01-20 17:52:27');
+INSERT INTO `sys_logininfor` VALUES (1217, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 17:52:30');
+INSERT INTO `sys_logininfor` VALUES (1218, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 17:53:47');
+INSERT INTO `sys_logininfor` VALUES (1219, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 17:54:08');
+INSERT INTO `sys_logininfor` VALUES (1220, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 17:54:54');
+INSERT INTO `sys_logininfor` VALUES (1221, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '1', '密码输入错误1次', '2025-01-20 17:56:04');
+INSERT INTO `sys_logininfor` VALUES (1222, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '1', '用户不存在/密码错误', '2025-01-20 17:56:04');
+INSERT INTO `sys_logininfor` VALUES (1223, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 17:56:08');
+INSERT INTO `sys_logininfor` VALUES (1224, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 17:56:52');
+INSERT INTO `sys_logininfor` VALUES (1225, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 17:57:27');
+INSERT INTO `sys_logininfor` VALUES (1226, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 17:59:48');
+INSERT INTO `sys_logininfor` VALUES (1227, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:00:29');
+INSERT INTO `sys_logininfor` VALUES (1228, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:00:44');
+INSERT INTO `sys_logininfor` VALUES (1229, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:01:05');
+INSERT INTO `sys_logininfor` VALUES (1230, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:01:20');
+INSERT INTO `sys_logininfor` VALUES (1231, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:01:46');
+INSERT INTO `sys_logininfor` VALUES (1232, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:02:04');
+INSERT INTO `sys_logininfor` VALUES (1233, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:02:29');
+INSERT INTO `sys_logininfor` VALUES (1234, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:02:46');
+INSERT INTO `sys_logininfor` VALUES (1235, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:03:46');
+INSERT INTO `sys_logininfor` VALUES (1236, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:04:02');
+INSERT INTO `sys_logininfor` VALUES (1237, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:04:41');
+INSERT INTO `sys_logininfor` VALUES (1238, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:04:52');
+INSERT INTO `sys_logininfor` VALUES (1239, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:05:43');
+INSERT INTO `sys_logininfor` VALUES (1240, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:05:55');
+INSERT INTO `sys_logininfor` VALUES (1241, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:06:01');
+INSERT INTO `sys_logininfor` VALUES (1242, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:06:30');
+INSERT INTO `sys_logininfor` VALUES (1243, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:06:42');
+INSERT INTO `sys_logininfor` VALUES (1244, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:08:52');
+INSERT INTO `sys_logininfor` VALUES (1245, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:09:34');
+INSERT INTO `sys_logininfor` VALUES (1246, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:10:06');
+INSERT INTO `sys_logininfor` VALUES (1247, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:10:09');
+INSERT INTO `sys_logininfor` VALUES (1248, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:10:17');
+INSERT INTO `sys_logininfor` VALUES (1249, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:10:45');
+INSERT INTO `sys_logininfor` VALUES (1250, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:11:13');
+INSERT INTO `sys_logininfor` VALUES (1251, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:11:20');
+INSERT INTO `sys_logininfor` VALUES (1252, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:12:41');
+INSERT INTO `sys_logininfor` VALUES (1253, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:12:51');
+INSERT INTO `sys_logininfor` VALUES (1254, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:13:43');
+INSERT INTO `sys_logininfor` VALUES (1255, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:14:14');
+INSERT INTO `sys_logininfor` VALUES (1256, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-20 18:16:44');
+INSERT INTO `sys_logininfor` VALUES (1257, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 10:47:15');
+INSERT INTO `sys_logininfor` VALUES (1258, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 11:08:28');
+INSERT INTO `sys_logininfor` VALUES (1259, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 11:09:55');
+INSERT INTO `sys_logininfor` VALUES (1260, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 11:20:23');
+INSERT INTO `sys_logininfor` VALUES (1261, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 11:21:07');
+INSERT INTO `sys_logininfor` VALUES (1262, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 11:24:52');
+INSERT INTO `sys_logininfor` VALUES (1263, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 11:51:22');
+INSERT INTO `sys_logininfor` VALUES (1264, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 11:57:01');
+INSERT INTO `sys_logininfor` VALUES (1265, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 11:58:29');
+INSERT INTO `sys_logininfor` VALUES (1266, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 11:59:22');
+INSERT INTO `sys_logininfor` VALUES (1267, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 13:18:17');
+INSERT INTO `sys_logininfor` VALUES (1268, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 13:24:19');
+INSERT INTO `sys_logininfor` VALUES (1269, 'admin', '192.168.110.10', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 13:24:48');
+INSERT INTO `sys_logininfor` VALUES (1270, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 13:25:00');
+INSERT INTO `sys_logininfor` VALUES (1271, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 13:27:32');
+INSERT INTO `sys_logininfor` VALUES (1272, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 13:28:40');
+INSERT INTO `sys_logininfor` VALUES (1273, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 13:47:20');
+INSERT INTO `sys_logininfor` VALUES (1274, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 13:55:52');
+INSERT INTO `sys_logininfor` VALUES (1275, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 14:18:41');
+INSERT INTO `sys_logininfor` VALUES (1276, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 14:22:44');
+INSERT INTO `sys_logininfor` VALUES (1277, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 14:23:53');
+INSERT INTO `sys_logininfor` VALUES (1278, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 14:30:34');
+INSERT INTO `sys_logininfor` VALUES (1279, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 14:44:08');
+INSERT INTO `sys_logininfor` VALUES (1280, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 14:45:20');
+INSERT INTO `sys_logininfor` VALUES (1281, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 15:06:27');
+INSERT INTO `sys_logininfor` VALUES (1282, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 15:07:13');
+INSERT INTO `sys_logininfor` VALUES (1283, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 15:08:22');
+INSERT INTO `sys_logininfor` VALUES (1284, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 15:09:26');
+INSERT INTO `sys_logininfor` VALUES (1285, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 15:09:55');
+INSERT INTO `sys_logininfor` VALUES (1286, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 15:11:01');
+INSERT INTO `sys_logininfor` VALUES (1287, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 15:12:25');
+INSERT INTO `sys_logininfor` VALUES (1288, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 15:13:00');
+INSERT INTO `sys_logininfor` VALUES (1289, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 15:13:36');
+INSERT INTO `sys_logininfor` VALUES (1290, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 15:14:17');
+INSERT INTO `sys_logininfor` VALUES (1291, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 15:16:40');
+INSERT INTO `sys_logininfor` VALUES (1292, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 15:17:16');
+INSERT INTO `sys_logininfor` VALUES (1293, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 15:28:50');
+INSERT INTO `sys_logininfor` VALUES (1294, 'admin', '192.168.110.103', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-01-21 15:39:35');
-- ----------------------------
-- Table structure for sys_menu
@@ -1567,7 +1676,7 @@
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
PRIMARY KEY (`menu_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 54 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '菜单权限表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 2008 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '菜单权限表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_menu
@@ -4082,7 +4191,7 @@
`removeDays` int(0) NULL DEFAULT NULL COMMENT '删除天数',
`postType` int(0) NULL DEFAULT NULL COMMENT '岗位类型 1=经理 2=负责人 3=专员',
PRIMARY KEY (`role_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 122 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色信息表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 123 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色信息表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_role
@@ -4681,12 +4790,12 @@
`districtId` int(0) NULL DEFAULT NULL COMMENT '区县id',
`deptName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '部门名称',
PRIMARY KEY (`user_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 151 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户信息表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 152 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户信息表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_user
-- ----------------------------
-INSERT INTO `sys_user` VALUES (1, 100, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', 'https://we-park-life.oss-cn-beijing.aliyuncs.com/img/ebcc2c95e1504371a8b3f3b1167a03a0.jpg', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '192.168.110.6', '2024-03-04 09:33:39', 'admin', '2023-10-02 14:09:09', 'admin', '2024-03-04 09:33:38', '管理员', 0, 4, '测试部门');
+INSERT INTO `sys_user` VALUES (1, 100, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', 'https://we-park-life.oss-cn-beijing.aliyuncs.com/img/ebcc2c95e1504371a8b3f3b1167a03a0.jpg', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '192.168.110.103', '2025-01-21 15:39:35', 'admin', '2023-10-02 14:09:09', 'admin', '2025-01-21 15:39:35', '管理员', 0, 4, '测试部门');
INSERT INTO `sys_user` VALUES (100, 3, '18008172471', '蒲悦添', '00', '', '18008172471', '0', 'https://we-park-life.oss-cn-beijing.aliyuncs.com/img/ebcc2c95e1504371a8b3f3b1167a03a0.jpg', '$2a$10$gL9RGP3b2d9YnmLxWm8GSu8XnvHDdJemGLgrslbe.hJPRKQ6Yk5jK', '0', '2', '', NULL, '若依', '2023-10-20 18:25:45', '若依', '2023-10-21 09:33:02', NULL, 0, 2, '测试部门');
INSERT INTO `sys_user` VALUES (101, 3, '18008172470', '蒲悦添', '00', '', '18008172470', '0', 'https://we-park-life.oss-cn-beijing.aliyuncs.com/img/ebcc2c95e1504371a8b3f3b1167a03a0.jpg', '$2a$10$PapRFYddk9FIcsKPJLFby.JKnRt2C1dngbr2EUiDgCNca8fxEfafi', '0', '2', '', NULL, '若依', '2023-10-20 18:27:54', '若依', '2023-10-21 09:33:00', 'string', 0, 2, '测试部门');
INSERT INTO `sys_user` VALUES (102, 3, '18008172471', '蒲悦添', '00', '', '18008172471', '0', 'https://we-park-life.oss-cn-beijing.aliyuncs.com/img/ebcc2c95e1504371a8b3f3b1167a03a0.jpg', '$2a$10$C6fSf7r6uZhWD8kc1nYoAO2oUlp3cFc.Q92Qqa8xQhueD74Ram/pG', '0', '2', '127.0.0.1', '2023-10-23 17:31:08', '若依', '2023-10-21 10:11:08', '蒲悦添', '2023-10-23 17:31:07', NULL, 0, 2, '测试部门');
@@ -4800,7 +4909,7 @@
`actual_money` double(10, 2) NULL DEFAULT NULL COMMENT '实际收款',
`voucher` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '凭证上传',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
- `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
+ `update_time` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
`create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
`update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人',
`disabled` int(0) NULL DEFAULT 0 COMMENT '是否删除 0=否 1=是',
@@ -4832,7 +4941,7 @@
`check_result` int(0) NULL DEFAULT NULL COMMENT '验收结果 1=合格 2=不合格',
`check_money` double(10, 2) NULL DEFAULT NULL COMMENT '验收结算金额',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
- `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
+ `update_time` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
`create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
`update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人',
`disabled` int(0) NULL DEFAULT 0 COMMENT '是否删除 0=否 1=是',
@@ -4868,11 +4977,11 @@
`party_two_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '乙方名称',
`party_two_person` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '乙方联系人',
`party_two_phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '乙方联系方式',
- `contract_file` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '合同附件',
+ `contract_file` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '合同附件',
`remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '备注',
`status` int(0) NULL DEFAULT 1 COMMENT '状态 1=待审批 2=未签订 3=已签订',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
- `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
+ `update_time` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
`create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
`update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人',
`disabled` int(0) NULL DEFAULT 0 COMMENT '是否删除 0=否 1=是',
@@ -4948,12 +5057,12 @@
`leave_message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '留言',
`handle_person` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理人',
`handle_time` datetime(0) NULL DEFAULT NULL COMMENT '处理时间',
- `reault_describe` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '结果描述',
+ `result_describe` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '结果描述',
`repair_picture` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理照片',
`attachment` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '附件',
`status` int(0) NULL DEFAULT 1 COMMENT '状态 1=待处理 2=已处理',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
- `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
+ `update_time` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
`create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
`update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人',
`disabled` int(0) NULL DEFAULT 0 COMMENT '是否删除 0=否 1=是',
@@ -4982,7 +5091,7 @@
`pay_type` int(0) NULL DEFAULT NULL COMMENT '支付方式 1=微信支付 2=支付宝支付 3=线下支付',
`payment_bill_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '缴费账单id',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
- `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
+ `update_time` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
`create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
`update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人',
`disabled` int(0) NULL DEFAULT 0 COMMENT '是否删除 0=否 1=是',
@@ -5012,10 +5121,12 @@
`property_right_duration` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '产权年限',
`lease_status` int(0) NULL DEFAULT 1 COMMENT '租赁状态 1=待出租 2=已出租 3=维修中',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
- `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
+ `update_time` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
`create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
`update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人',
`disabled` int(0) NULL DEFAULT 0 COMMENT '是否删除 0=否 1=是',
+ `building` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '楼栋',
+ `room_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '房号',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '房屋管理' ROW_FORMAT = Dynamic;
@@ -5036,7 +5147,7 @@
`content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '内容',
`attachment` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '附件',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
- `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
+ `update_time` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
`create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
`update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人',
`disabled` int(0) NULL DEFAULT 0 COMMENT '是否删除 0=否 1=是',
@@ -5065,7 +5176,7 @@
`email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邮箱',
`contract_number` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '开票合同编号逗号分割',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
- `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
+ `update_time` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
`create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
`update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人',
`disabled` int(0) NULL DEFAULT 0 COMMENT '是否删除 0=否 1=是',
@@ -5087,7 +5198,7 @@
`sort_by` int(0) NULL DEFAULT NULL COMMENT '权重',
`pictures` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图片',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
- `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
+ `update_time` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
`create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
`update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人',
`disabled` int(0) NULL DEFAULT 0 COMMENT '是否删除 0=否 1=是',
@@ -5107,7 +5218,7 @@
`type_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分类名称',
`sort_by` int(0) NULL DEFAULT NULL COMMENT '权重',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
- `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
+ `update_time` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
`create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
`update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人',
`disabled` int(0) NULL DEFAULT 0 COMMENT '是否删除 0=否 1=是',
@@ -5153,10 +5264,12 @@
`bank_number` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '银行转账专号',
`mail_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '通讯地址',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
- `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
+ `update_time` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
`create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
`update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人',
`disabled` int(0) NULL DEFAULT 0 COMMENT '是否删除 0=否 1=是',
+ `account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录账号',
+ `password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '密码',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '租户' ROW_FORMAT = Dynamic;
--
Gitblit v1.7.1