好啦,接下我们来解析一下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;
}
}
更多内容请关注本站后续分享!!!