Merge remote-tracking branch 'origin/master' into xizang-changyun
# Conflicts:
# ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java
New file |
| | |
| | | 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); |
| | | } |
| | | } |
| | |
| | | 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> |
| | |
| | | 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); |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | * @author xiaochen |
| | | * @since 2025-01-17 |
| | | */ |
| | | @Api(tags = "房屋基础信息管理") |
| | | @RestController |
| | | @RequestMapping("/t-house") |
| | | public class THouseController { |
| | |
| | | @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)); |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | 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; |
| | |
| | | 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.*; |
| | | |
| | |
| | | /** |
| | | * 获取租户管理列表 |
| | | */ |
| | | @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)); |
| | | } |
| | | |
| | | } |
| | |
| | | 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); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取用户数量统计 |
New file |
| | |
| | | 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 |
| | | } |
| | |
| | | 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 |
| | |
| | | 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 |
| | |
| | | <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 --> |
New file |
| | |
| | | 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"; |
| | | } |
| | |
| | | </description> |
| | | |
| | | <dependencies> |
| | | |
| | | <dependency> |
| | | <groupId>com.qcloud</groupId> |
| | | <artifactId>cos_api</artifactId> |
| | | <version>5.6.227</version> |
| | | </dependency> |
| | | <!-- 通用工具--> |
| | | <dependency> |
| | | <groupId>com.ruoyi</groupId> |
New file |
| | |
| | | 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; |
| | | } |
| | |
| | | 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; |
| | | |
| | |
| | | * |
| | | * @author ruoyi |
| | | */ |
| | | @Mapper |
| | | public interface SysDictDataMapper |
| | | { |
| | | /** |
| | |
| | | * @return 结果 |
| | | */ |
| | | public int updateDictDataType(@Param("oldDictType") String oldDictType, @Param("newDictType") String newDictType); |
| | | |
| | | public String selectDictDataByTypeAndValue(@Param("dictType")String dictType, @Param("dictValue")Integer dictValue); |
| | | } |
| | |
| | | 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> |
| | |
| | | */ |
| | | public interface TContractMapper extends BaseMapper<TContract> { |
| | | |
| | | List<TContract> contractList(@Param("query") TContractQuery query, @Param("pageInfo") PageInfo<TContract> pageInfo); |
| | | } |
| | |
| | | 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; |
| | |
| | | * @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); |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | @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") |
| | |
| | | @TableField("deposit") |
| | | private BigDecimal deposit; |
| | | |
| | | @ApiModelProperty(value = "租金支付方式 1=季付") |
| | | @ApiModelProperty(value = "租金支付方式 1=月付 2=季付 3=年付") |
| | | @TableField("pay_type") |
| | | private Integer payType; |
| | | |
| | |
| | | @TableField("party_two_phone") |
| | | private String partyTwoPhone; |
| | | |
| | | @ApiModelProperty(value = "合同附件") |
| | | @ApiModelProperty(value = "合同附件,多个逗号拼接") |
| | | @TableField("contract_file") |
| | | private String contractFile; |
| | | |
| | |
| | | @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; |
| | | |
| | | } |
| | |
| | | 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; |
| | |
| | | @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; |
| | | |
| | | |
| | | } |
| | |
| | | @TableField("room_number") |
| | | private String roomNumber; |
| | | |
| | | @ApiModelProperty(value = "住户类型 1月租 2季租 3年租") |
| | | @TableField(exist = false) |
| | | private Integer tenantType; |
| | | } |
| | |
| | | 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; |
| | |
| | | |
| | | @ApiModelProperty(value = "金额") |
| | | @TableField("invoice_money") |
| | | private Double invoiceMoney; |
| | | private BigDecimal invoiceMoney; |
| | | |
| | | @ApiModelProperty(value = "申请人") |
| | | @TableField("apply_name") |
| | |
| | | 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; |
| | |
| | | |
| | | @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") |
| | |
| | | |
| | | @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 = "联系电话不能为空") |
New file |
| | |
| | | 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; |
| | | } |
| | |
| | | public class TTenantQuery extends BasePage { |
| | | |
| | | @ApiModelProperty(value = "租户姓名") |
| | | private String tenantName; |
| | | private String residentName; |
| | | |
| | | @ApiModelProperty(value = "联系电话") |
| | | private String phone; |
| | |
| | | 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> |
| | |
| | | */ |
| | | public interface TContractService extends IService<TContract> { |
| | | |
| | | PageInfo<TContract> contractList(TContractQuery query); |
| | | } |
| | |
| | | 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> |
| | |
| | | * @param query |
| | | * @return |
| | | */ |
| | | PageInfo<TTenant> pageList(TTenantQuery query); |
| | | PageInfo<TenantVO> pageList(TTenantQuery query); |
| | | } |
| | |
| | | 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> |
| | |
| | | @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; |
| | | |
| | | } |
| | | } |
| | |
| | | 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; |
| | |
| | | import com.ruoyi.system.vo.HouseVO; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.time.LocalDateTime; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @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; |
| | | } |
| | |
| | | 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; |
| | |
| | | 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; |
| | | } |
New file |
| | |
| | | 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; |
| | | } |
New file |
| | |
| | | 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; |
| | | |
| | | } |
| | |
| | | <select id="countDictDataByType" resultType="Integer"> |
| | | select count(1) from sys_dict_data where dict_type=#{dictType} |
| | | </select> |
| | | <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} |
| | |
| | | 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"> |
| | |
| | | <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> |
| | |
| | | <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" /> |
| | |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <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> |
| | |
| | | Target Server Version : 80019 |
| | | File Encoding : 65001 |
| | | |
| | | Date: 20/01/2025 10:22:50 |
| | | Date: 21/01/2025 17:37:24 |
| | | */ |
| | | |
| | | SET NAMES utf8mb4; |
| | |
| | | `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 |
| | |
| | | `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 |
| | |
| | | `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 |
| | |
| | | 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 |
| | |
| | | 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 |
| | |
| | | `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 |
| | |
| | | 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 |
| | |
| | | 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 |
| | |
| | | `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 |
| | |
| | | `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 |
| | |
| | | `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, '测试部门'); |
| | |
| | | `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=是', |
| | |
| | | `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=是', |
| | |
| | | `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=是', |
| | |
| | | `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=是', |
| | |
| | | `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=是', |
| | |
| | | `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; |
| | | |
| | |
| | | `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=是', |
| | |
| | | `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=是', |
| | |
| | | `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=是', |
| | |
| | | `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=是', |
| | |
| | | `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; |
| | | |