package cn.learn.haoke.dubbo.server.api;
import cn.learn.haoke.dubbo.server.pojo.HouseResources;
import cn.learn.haoke.dubbo.server.vo.PageInfo;
public interface ApiHouseResourcesService {
/**
* 新增房源
*
* @param houseResources
* @return -1:输入的参数不符合要求,0:数据插入数据库失败,1:成功
*/
int saveHouseResources(HouseResources houseResources);
/**
* 分页查询房源列表
*
* @param page 当前页
* @param pageSize 页面大小
* @param queryCondition 查询条件
* @return
*/
PageInfo<HouseResources> queryHouseResourcesList(int page, int pageSize,
HouseResources queryCondition);
/**
* 根据id查询房源数据
*
* @param id
* @return
*/
HouseResources queryHouseResourcesById(Long id);
}
package cn.learn.haoke.dubbo.server.api;
import cn.learn.haoke.dubbo.server.pojo.HouseResources;
import cn.learn.haoke.dubbo.server.service.HouseResourcesService;
import cn.learn.haoke.dubbo.server.vo.PageInfo;
import com.alibaba.dubbo.config.annotation.Service;
import org.springframework.beans.factory.annotation.Autowired;
@Service(version = "1.0.0")
public class ApiHouseResourcesServiceImpl implements ApiHouseResourcesService {
@Autowired
private HouseResourcesService houseResourcesService;
@Override
public int saveHouseResources(HouseResources houseResources) {
return this.houseResourcesService.saveHouseResources(houseResources);
}
@Override
public PageInfo<HouseResources> queryHouseResourcesList(int page, int pageSize, HouseResources queryCondition) {
return this.houseResourcesService.queryHouseResourcesList(page, pageSize, queryCondition);
}
@Override
public HouseResources queryHouseResourcesById(Long id) {
return this.houseResourcesService.queryHouseResourcesById(id);
}
}
package cn.learn.haoke.dubbo.server.service;
import cn.learn.haoke.dubbo.server.pojo.HouseResources;
import cn.learn.haoke.dubbo.server.vo.PageInfo;
public interface HouseResourcesService {
/**
* @param houseResources
*
* @return -1:输入的参数不符合要求,0:数据插入数据库失败,1:成功
*/
int saveHouseResources(HouseResources houseResources);
PageInfo<HouseResources> queryHouseResourcesList(int page, int pageSize, HouseResources queryCondition);
/**
* 根据房源id查询房源数据
*
* @param id
* @return
*/
HouseResources queryHouseResourcesById(Long id);
}
package cn.learn.haoke.dubbo.server.service.impl;
import cn.learn.haoke.dubbo.server.pojo.HouseResources;
import cn.learn.haoke.dubbo.server.service.HouseResourcesService;
import cn.learn.haoke.dubbo.server.vo.PageInfo;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Transactional
@Service
public class HouseResourcesServiceImpl extends BaseServiceImpl<HouseResources> implements HouseResourcesService {
/**
* @param houseResources
* @return -1:输入的参数不符合要求,0:数据插入数据库失败,1:成功
*/
@Override
public int saveHouseResources(HouseResources houseResources) {
// 添加校验或者是其他的一些逻辑
if (StringUtils.isBlank(houseResources.getTitle())) {
// 不符合要求
return -1;
}
return super.save(houseResources);
}
@Override
public PageInfo<HouseResources> queryHouseResourcesList(int page, int pageSize, HouseResources queryCondition) {
QueryWrapper queryWrapper = new QueryWrapper();
// 根据数据的更新时间做倒序排序
queryWrapper.orderByDesc("updated");
IPage iPage = super.queryPageList(queryWrapper, page, pageSize);
return new PageInfo<HouseResources>(Long.valueOf(iPage.getTotal()).intValue(), page, pageSize, iPage.getRecords());
}
@Override
public HouseResources queryHouseResourcesById(Long id) {
return super.queryById(id);
}
}
package cn.learn.haoke.dubbo.server.service.impl;
import cn.learn.haoke.dubbo.server.pojo.BasePojo;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.Date;
import java.util.List;
public abstract class BaseServiceImpl<T extends BasePojo> {
@Autowired
private BaseMapper<T> mapper;
/**
* 根据id查询数据
*
* @param id
* @return
*/
public T queryById(Long id) {
return this.mapper.selectById(id);
}
/**
* 查询所有数据
*
* @return
*/
public List<T> queryAll() {
return this.mapper.selectList(null);
}
/**
* 根据条件查询一条数据
*
* @param record
* @return
*/
public T queryOne(T record) {
return this.mapper.selectOne(new QueryWrapper<>(record));
}
/**
* 根据条件查询数据列表
*
* @param record
* @return
*/
public List<T> queryListByWhere(T record) {
return this.mapper.selectList(new QueryWrapper<>(record));
}
/**
* 根据条件分页查询数据列表
*
* @param record
* @param page
* @param rows
* @return
*/
public IPage<T> queryPageListByWhere(T record, Integer page, Integer rows) {
// 获取分页数据
return this.mapper.selectPage(new Page<T>(page, rows), new QueryWrapper<>
(record));
}
/**
* 根据条件分页查询数据列表
*
* @param queryWrapper
* @param page
* @param rows
* @return
*/
public IPage<T> queryPageList(QueryWrapper<T> queryWrapper, Integer page,
Integer rows) {
// 获取分页数据
return this.mapper.selectPage(new Page<T>(page, rows), queryWrapper);
}
/**
* 保存数据
*
* @param record
* @return
*/
public Integer save(T record) {
record.setCreated(new Date());
record.setUpdated(record.getCreated());
return this.mapper.insert(record);
}
/**
* 更新数据
*
* @param record
* @return
*/
public Integer update(T record) {
record.setUpdated(new Date());
return this.mapper.updateById(record);
}
/**
* 根据id删除数据
*
* @param id
* @return
*/
public Integer deleteById(Long id) {
return this.mapper.deleteById(id);
}
/**
* 根据ids批量删除数据
*
* @param ids
* @return
*/
public Integer deleteByIds(List<Long> ids) {
return this.mapper.deleteBatchIds(ids);
}
/**
* 根据条件删除数据
*
* @param record
* @return
*/
public Integer deleteByWhere(T record) {
return this.mapper.delete(new QueryWrapper<>(record));
}
}