基于SSM架构租房管理系统项目实战与毕业设计指导

好啦,接下我们来解析一下Java项目六大应用场景中租赁与政务之租房管理系统设计与实现吧!

一、项目简介

  租房管理系统是专门为出租房屋公司设计开发的智能经营管理软件,该系统把先进的经营理念融入其中,从管理者角度出发,以客户管理为切入点,把客户管理与营业分析,员工考核,内部管理等管理工作高度结合起来,形成一套完整独到的不同以往的管理系统。可以快速帮助房屋中介公司管理房屋,租房客,合同等等有效信息。真实房源,实时更新,没有虚假浮夸信息,绝对可靠。

二、产品优势

  随着时代的发展,社会生产力迅速发展,科学技术突飞猛进,人们进行信息交流的深度与广度不断增加,信息量急剧增长,传统信息处理方案已经不能适应社会需求。面对日益复杂和不断发展,变化的社会环境,个人或企业要想在社会求发展,求生存,必须有足够的信息和强有力的信息收集与处理手段。
  对于房屋出租者来说,大量房源,租金,合同信息难于通过传统方式管理;对于租房者来说,复杂的房源信息使他们感到迷茫。租房管理系统,通过系统来管理房屋出租情况,可以解决大量房源信息的查询和管理,便于更好的进行物业管理,同时也为租房者提供方便。
  租房管理系统是集技术,经济管理理论,统计学与运筹学,数据库为一体的综合系统。

三、技术体系

四、功能列表

五、项目架构

六、效果展示

  登录页面:

  系统首页:

  房源列表:

  租赁与合同:

  申请列表:

  报障管理:

七、部分源码参考

房屋列表实体类:

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Houselist {
    private Integer id;
    private String houseid;
    private String address;
    private double area;
    private double price;
    private String status;
}

用户常量声明类: 

/**
 * @Version v1.0
 * 用户管理常量声明
 * 早期枚举类:建议不用,占空间,性能低
 */
public class UserConst {
    //代表curd成功与失败返回码
   public final static int USEROK=1000;
   public final static int USERNO=1001;
   //返回提示消息
   public final static String UPDATEOK="更新成功";
   public final static String UPDATENO="更新失败";
   public final static String USERERROR="用户名或密码有误";
   public final static String USERLOGIN="登录成功";
   public final static String USEREXISTS="用户已存在";
   public final static String REGOK="注册成功";
   public final static String REGNO="注册失败";
}

地址服务类:

@Service
public class DeliveryAddressServiceImpl implements DeliveryAddressService {
    @Resource
    private DeliveryAddressMapper deliveryAddressMapper;

    /**
     * 查询用户配送地址
     *
     * @param userId
     * @return
     */
    @Override
    public ResultVo queryAdderssByUserId(Integer userId) {
        List<DeliveryAddress> list = deliveryAddressMapper.selectAddressByUserId(userId);
        if (!list.isEmpty()) {
            return new ResultVo(1000, list, "地址查询成功");
        }
        return new ResultVo(1001, null, "查询无此地址");
    }

    /**
     * 添加用户配送地址
     *
     * @param deliveryAddress
     * @return
     */
    @Override//添加用户的配送地址内容,默认不包含daId
    public ResultVo addDeliveryAddress(DeliveryAddress deliveryAddress) {
        //一旦插入成功,则mybatis会返回数据库自动生成的daId,并存入deliveryAddress中的daId属性中
        int n = deliveryAddressMapper.insertAddress(deliveryAddress);
        if (n > 0) {//添加成功
            //拿到daId返回给前端,避免再次通过用户id查询配送的所有地址
           int daId= deliveryAddress.getDaId();
            //System.out.println("地址id:"+daId);
            //将配送地址的id号返回给前端
            return new ResultVo(1000,daId, "配送地址添加成功");
        }
        //添加不成功返回的数据
        return new ResultVo(1001,null, "配送地址添加失败");
    }

    /**
     * 更新地址
     * @param deliveryAddress
     * @return
     */
    @Override
    public ResultVo updateDeliveryAddressByDaId(DeliveryAddress deliveryAddress) {
        int n = deliveryAddressMapper.updateAddressBydaId(deliveryAddress);
        if (n > 0) {
            return new ResultVo(1000, null, "配送地址更新成功");
        }
        return new ResultVo(1001, null, "配送地址更新失败");
    }

    /**
     * 删除地址
     * @param daId
     * @return
     */
    @Override
    public ResultVo deleteDeliveryAddressByDaId(Integer daId) {
        int n = deliveryAddressMapper.deleteAddressBydaId(daId);
        if (n > 0) {
            return new ResultVo(1000, null, "配送地址删除成功");
        }
        return new ResultVo(1001, null, "配送地址删除失败");
    }
}

地址控制器类:

@RestController
@RequestMapping("/Address")
public class AddressController {
    @Resource
    private DeliveryAddressService deliveryAddressService;

    /**
     * @param userId
     * @return
     */
    @CrossOrigin//@RequestParam表示通过参数名获取,与前端参数名相同
    @GetMapping ("/query")
    public ResultVo queryAddress(int userId){
        return deliveryAddressService.queryAdderssByUserId(userId);
    }

    /**
     * 添加用户配送地址
     * @param deliveryAddres
     * @return
     * @前端vue的axios的post默认是通过请求体传参方式传值,这里直接转为实体类对象
     * @如果vue的axios通过content-type设置为header或json传送方式,则后端要用相应方式接收
     * 注意对接收的数据要用数据校验
     */
    @CrossOrigin
    @PostMapping("/add")//将前端封装好的json字符串转换为后端的实体类对象
    public ResultVo addAddress(DeliveryAddress deliveryAddres){
        return deliveryAddressService.addDeliveryAddress(deliveryAddres);
    }

    /**
     * 更新配送地址
     * @param deliveryAddress
     * @return
     */
    @PostMapping("/update")
    @CrossOrigin
    public ResultVo updateAddress(DeliveryAddress deliveryAddress){
        ResultVo resultVo=deliveryAddressService.updateDeliveryAddressByDaId(deliveryAddress);
        return resultVo;
    }

    /**
     * 删除配送地址
     * @param daId
     * @return
     */
    @CrossOrigin
    @PostMapping("/del")
    public ResultVo delAddress(int daId){
        ResultVo resultVo=deliveryAddressService.deleteDeliveryAddressByDaId(daId);
        return resultVo;
    }
}

更多内容请关注本站后续分享!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值