You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

211 lines
4.8 KiB

package service.impl;
import java.util.List;
import java.util.Map;
import model.Classify;
import model.PageBean;
import model.Product;
import model.User;
import model.UserAndAdmin;
import org.springframework.transaction.annotation.Transactional;
import service.IUserService;
import dao.IUserDao;
@Transactional
public class UserService implements IUserService {
private IUserDao iUserDao;
public void setiUserDao(IUserDao iUserDao) {
this.iUserDao = iUserDao;
}
Integer currPage=1;
/**
* 发布供求信息
*/
@Override
public void saveProduct(Product product) {
this.iUserDao.saveProduct(product);
}
/**
* 查询分类列表
*/
@Override
public List<Classify> searchClassifyList() {
return this.iUserDao.searchClassifyList();
}
/**
* 查询商品
*/
@Override
public PageBean<Product> searchProductList(Map<Object, String> map) {
PageBean<Product> pageBean=new PageBean<Product>();
//封装当前页
currPage=Integer.parseInt(map.get("currPage"));
pageBean.setCurrPage(currPage);
//封装每页记录数
int pageSize=12;
pageBean.setPageSize(pageSize);
//封装总记录数
int totalCount=this.iUserDao.searchProductCount(map);
pageBean.setTotalCount(totalCount);
//封装总页数
double tc=totalCount;
Double num=Math.ceil(tc/pageSize);
if(num==0){
num=(double) 1;
}
pageBean.setTotalPage(num.intValue());
//封装每页显示的数据
int begin=(currPage-1)*pageSize;
map.put("begin", begin+"");
map.put("pageSize", pageSize+"");
List<Product> list=this.iUserDao.searchProductList(map);
pageBean.setList(list);
return pageBean;
}
/**
* 查询商品详情
*/
@Override
public Product getProductDetail(String id) {
return this.iUserDao.getProductDetail(id);
}
@Override
public Classify getClassifyById(Integer classifyId) {
return this.iUserDao.getClassifyById(classifyId);
}
@Override
public User getUserById(Integer creatorId) {
return this.iUserDao.getUserById(creatorId);
}
@Override
public void updateProduct(Product product) {
this.iUserDao.updateProduct(product);
}
/**
* <p>Description: 查询我发布的商品列表信息</p>
* @param map
* @return
*/
@Override
public PageBean<Product> searchMyProductByPage(Map<Object, String> map) {
PageBean<Product> pageBean=new PageBean<Product>();
//封装当前页
currPage=Integer.parseInt(map.get("currPage"));
pageBean.setCurrPage(currPage);
//封装每页记录数
int pageSize=5;
pageBean.setPageSize(pageSize);
//封装总记录数
int totalCount=this.iUserDao.searchMyProductCount(Integer.parseInt(map.get("userId")));
pageBean.setTotalCount(totalCount);
//封装总页数
double tc=totalCount;
Double num=Math.ceil(tc/pageSize);
if(num==0){
num=(double) 1;
}
pageBean.setTotalPage(num.intValue());
//封装每页显示的数据
int begin=(currPage-1)*pageSize;
map.put("begin", begin+"");
map.put("pageSize", pageSize+"");
List<Product> list=this.iUserDao.getMyProductList(map);
pageBean.setList(list);
return pageBean;
}
/**
* <p>Description: 删除我发布的商品</p>
* @param pid
*/
@Override
public void delectProductById(int pid) {
this.iUserDao.delectProductById(pid);
}
/**
* 保存用户消息
* @param uaa
*/
@Override
public void saveUserMessage(UserAndAdmin uaa) {
this.iUserDao.saveUserMessage(uaa);
}
/**
* 分页消息
* @throws Exception
* @param flag 0系统消息,1用户消息
*/
@Override
public PageBean<UserAndAdmin> searchMessageByPage(Map<Object, String> map) {
PageBean<UserAndAdmin> pageBean=new PageBean<UserAndAdmin>();
//封装当前页
currPage=Integer.parseInt(map.get("currPage"));
pageBean.setCurrPage(currPage);
//封装每页记录数
int pageSize=10;
pageBean.setPageSize(pageSize);
//封装总记录数
int totalCount=this.iUserDao.searchMessageCount(Integer.parseInt(map.get("userId")),map.get("flag"));
pageBean.setTotalCount(totalCount);
//封装总页数
double tc=totalCount;
Double num=Math.ceil(tc/pageSize);
if(num==0){
num=(double) 1;
}
pageBean.setTotalPage(num.intValue());
//封装每页显示的数据
int begin=(currPage-1)*pageSize;
map.put("begin", begin+"");
map.put("pageSize", pageSize+"");
List<UserAndAdmin> list=this.iUserDao.getMessageList(map);
pageBean.setList(list);
return pageBean;
}
/**
* 通过id删除消息
*/
@Override
public void deleteMessage(int id) {
this.iUserDao.deleteMessage(id);
}
}