JavaWeb旅游项目5

JavaWeb旅游项目5

查看详细信息,图片也要实现展示

//根据id查询一个旅游线路的详细信息。
    public void findOne(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        //1.获取前台提交上来的rid
        String rid = request.getParameter("rid");
//            int rid = 1;
//            if (ridStr != null && ridStr.length() > 0 && !ridStr.equals("undefined")) {
//               rid = Integer.parseInt(ridStr);
//            }
//2.调用service
        RouteService routeService = new RouteServiceImpl();
        Route route = routeService.findOneByRid(rid);

        //转为json返回
        writeValue(route, response);

    }

route_detail.html

 $(function () {
        //获取rid
        var rid = UrlParam.param("rid");
       // alert(rid);
        //发送Ajax请求
        $.get("route/findOne",{'rid':rid},function(route){
            //展示文本信息
            $('#rname').text(route.rname);
            $('#routeIntroduce').text(route.routeIntroduce);
            $('#sname').text(route.seller.sname);
            $('#consphone').text(route.seller.consphone);
            $('#address').text(route.seller.address);
            //price
            $('#price').text("价格:" + route.price);
            //收藏次数
            $('#count').text(route.count);
            //图片展示
            var ddstr = ' <a class="up_img up_img_disable"></a>';
            //遍历routeImgList
            for (var i = 0; i < route.routeImgList.length ; i++) {
                var astr;
                if(i>4){
                     astr = '  <a title="" class="little_img" data-bigpic="'+ route.routeImgList[i].bigPic +'" style="display:none;">\n' +
                        '             <img src="'+route.routeImgList[i].smallPic +'">\n' +
                        '                </a>';
                }else{
                     astr = '  <a title="" class="little_img" data-bigpic="'+ route.routeImgList[i].bigPic +'">\n' +
                        '             <img src="'+route.routeImgList[i].smallPic +'">\n' +
                        '                </a>';
                }

                ddstr += astr;
            }
            ddstr += ' <a class="down_img down_img_disable" style="margin-bottom: 0;"></a>';
            $('#dd').html(ddstr);
            //展示图片和切换图片
            goImg();

        });
        $(document).ready(function() {

        //自动播放
        goImg();
        // var timer = setInterval("auto_play()", 5000);
    });
function goImg() {
    //焦点图效果
    //点击图片切换图片
    $('.little_img').on('mousemove', function() {
        $('.little_img').removeClass('cur_img');
        var big_pic = $(this).data('bigpic');
        $('.big_img').attr('src', big_pic);
        $(this).addClass('cur_img');
    });
    //上下切换
    var picindex = 0;
    var nextindex = 4;
    $('.down_img').on('click',function(){
        var num = $('.little_img').length;
        if((nextindex + 1) <= num){
            $('.little_img:eq('+picindex+')').hide();
            $('.little_img:eq('+nextindex+')').show();
            picindex = picindex + 1;
            nextindex = nextindex + 1;
        }
    });
    $('.up_img').on('click',function(){
        var num = $('.little_img').length;
        if(picindex > 0){
            $('.little_img:eq('+(nextindex-1)+')').hide();
            $('.little_img:eq('+(picindex-1)+')').show();
            picindex = picindex - 1;
            nextindex = nextindex - 1;
        }
    });
}

 @Override
    public Route findOneByRid(int rid) {
       System.out.println(rid);
       System.out.println("调用了");
       String sql = "select * from tab_route where rid=?";
       Route route = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<Route>(Route.class), rid);
       return route;
   }
   package org.westos.travel.dao.impl;

import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.westos.travel.dao.SellerDao;
import org.westos.travel.domain.Seller;
import org.westos.travel.util.JDBCUtils;
public class SellerDaoImpl implements SellerDao {
    private JdbcTemplate jdbcTemplate = new JdbcTemplate(JDBCUtils.getDataSource());
    @Override
    //根据sid查询商家
    public Seller findSellerBySid(int sid) {
        String sql = "select * from tab_seller where sid=?";
        Seller seller = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<Seller>(Seller.class), sid);
        return seller;
    }
}
package org.westos.travel.dao.impl;

import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.westos.travel.dao.RouteImgDao;
import org.westos.travel.domain.RouteImg;
import org.westos.travel.util.JDBCUtils;

import java.util.List;

public class RouteImgDaoImpl implements RouteImgDao {
    private JdbcTemplate jdbcTemplate = new JdbcTemplate(JDBCUtils.getDataSource());
    @Override
    public List<RouteImg> findImags(int rid) {
        String sql="select * from tab_route_img where rid=?";
        List<RouteImg>  routeImgList = jdbcTemplate.query(sql, new BeanPropertyRowMapper<RouteImg>(RouteImg.class), rid);
        return routeImgList;
    }
}


收藏功能
//判断登陆用户是否收藏过此线路
    public void isFavorite(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1。获取rid
        String ridStr = request.getParameter("rid");
        int rid = 0;
        if (ridStr != null && ridStr.length() > 0 && !ridStr.equals("undefined")) {
            rid = Integer.parseInt(ridStr);
        }
        //从session中获取当前登陆用户
        User user = (User) request.getSession().getAttribute("user");
        int uid = 0;
        //判断当前用户是否登陆
        //如果登录获取uid
        if (user != null) {
            //获取用户的id
            uid = user.getUid();
        }
        //调用service 传递rid和uid
        FavoriteService favoriteService = new FavoriteServiceImpl();
        //true 说明该用户收藏过  false 代表登录没收藏或没登录      
        boolean flag = favoriteService.isFavorite(rid, uid);
        //3.转为JSON返回      
        writeValue(flag, response);
    }
//中添加收藏的方法
    public void addFavorite(HttpServletRequest request, HttpServletResponse response) {
        //1.获取rid
        String ridStr = request.getParameter("rid");
        int rid = 0;
        if (ridStr != null && ridStr.length() > 0 && !ridStr.equals("undefined")) {
            rid = Integer.parseInt(ridStr);
        }
        //2.从session中获取当前登录用户
        User user = (User) request.getSession().getAttribute("user");
        int uid = 0;
        //3.判断当前用户是否登录,如果登录获取uid
        if (user != null) {
            //获取用户的uid          
            uid = user.getUid();
           }else{
            //如果用户没有登录直接return        
             return;
        }
        //4.调用service完成添加
        FavoriteService favoriteService = new FavoriteServiceImpl();
        favoriteService.add(uid,rid);
        //不需要给前台返回数据
    }
}
package org.westos.travel.service;

public interface FavoriteService {
    boolean isFavorite(int uid, int rid);

    void add(int uid, int rid);
}

package org.westos.travel.service.impl;

import org.westos.travel.dao.FavoriteDao;
import org.westos.travel.dao.impl.FavoriteDaoImpl;
import org.westos.travel.domain.Favorite;
import org.westos.travel.service.FavoriteService;


public class FavoriteServiceImpl implements FavoriteService {
    private  FavoriteDao favoriteDao = new FavoriteDaoImpl();
    @Override
    public boolean isFavorite(int uid, int rid) {

          Favorite favorite = favoriteDao.findFavoriteByUidAndRid(rid, uid);
          System.out.println(favorite);
          return favorite!=null; //说明收藏过,返回true
    }

    @Override
    public void add(int uid, int rid) {
        favoriteDao.add(uid,rid);
    }
}

package org.westos.travel.dao;

import org.westos.travel.domain.Favorite;

public interface FavoriteDao {
    Favorite findFavoriteByUidAndRid(int uid, int rid);

   // int countRouteByRid(int rid);

    void add(int uid, int rid);

    int findCountByRid(int rid);
}

package org.westos.travel.dao.impl;

import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.westos.travel.dao.FavoriteDao;
import org.westos.travel.domain.Favorite;
import org.westos.travel.util.JDBCUtils;

import java.util.Date;

public class FavoriteDaoImpl implements FavoriteDao {
    @Override
    public Favorite findFavoriteByUidAndRid(int uid, int rid) {
        JdbcTemplate jdbcTemplate = new JdbcTemplate(JDBCUtils.getDataSource());
        Favorite favorite = null;
        try {
            String sql = "select * from tab_favorite where rid=? and uid=?";
            //jdbcTemplate 如果查不出来,返回会null 就报异常了,我们自己可以捕获异常处理一下
            favorite = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<Favorite>(Favorite.class), rid, uid);
        } catch (DataAccessException e) {
            //e.printStackTrace();
        }
        return favorite;
    }
//查询该线路的收藏次
    @Override
    public int findCountByRid(int rid) {
        JdbcTemplate jdbcTemplate = new JdbcTemplate(JDBCUtils.getDataSource());
        String sql = "select count(*) from tab_favorite where rid=?";
        Integer count = jdbcTemplate.queryForObject(sql, Integer.class, rid);
        return count;
    }

    @Override
    public void add(int uid, int rid) {
        JdbcTemplate jdbcTemplate = new JdbcTemplate(JDBCUtils.getDataSource());
        String sql = "insert into tab_favorite values(?,?,?)";
        int i = jdbcTemplate.update(sql, rid, new Date(), uid);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值