如何用Java实现一套特色民宿平台系统?

简介: 如何用Java实现一套特色民宿平台系统?



一,环境介绍

语言环境:Java:  jdk1.8

数据库:Mysql: mysql5.7

应用服务器:Tomcat:  tomcat8.5.31

开发工具:IDEA或eclipse

开发技术:SSM框架+Jquery+Ajax+HTML

应用算法:协同过滤算法

二,项目简介

随着疫情的告一段落,全国各地的经济形势也在逐渐好转,时隔三年的旅游需求有一定程度的爆发,春节旅游的爆发就是一个很好的说明。旅游业的恢复也需要一定的时间,三年的时间让很多原本旅游相关的行业基本处于停滞状态。而这其中的民宿运营更是雪上加霜。

如何利用新科技,新技术,利用互联网来为这些民宿运营者进行相应的推广而引流,就是本次课题要研究的问题。本课题基于JAVA技术的相关应用,开发出一个特色民宿的在线宣传和预定的平台,以期为这些广大的有特色的民宿运营者提供一些帮助,也方便更多的旅游爱好者在本平台找到更适合自己的民宿,带来更好的体验。

本系统主要使用了SSM框架和MYSQL数据库,基于IDEA开发工具来开发实现,完成了一个民宿在线平台系统,实现了前端用户在线浏览和民宿预定,分享民宿旅游攻略,地图定位民宿等操作,后台管理用户管理注册用户,民宿信息,旅游攻略等基本信息,并提供了用户互动的基本操作,比如评论、收藏、反馈留言等。

本系统的开发与设计主要围绕民宿及其周边信息开展,重要的业务模块主要包含民宿信息、周边旅游信息、民宿攻略、行业资讯信息等,实现用户在线预定,地图定位民宿位置,实现根据用户喜好采用协同过滤算法进行的个性化民宿推荐处理等。用户主要设计为两类,一类为前端注册用户,一类是平台管理用户,下面分别展示一下这两类用户的用例图,具体展示如下:

用户用例图如下:

(1)前端用户用例图,如图1:

图1 前端用户用例图

管理员用户用例图如下图2所示:

图2后台用户用例图

特色民宿管理平台,主要是管理和民宿相关的一些信息,实现在线信息展示及预定,以促进消费者更好的了解民宿,为民宿运营者带来更多客源流量,整体的功能结构设计图如下图3所示。

图3 功能结构图

前端用户的功能模块介绍:

(1)注册登录功能模块设计

前端用户进行相关操作时需要进行注册线上会员,填写个人账户信息和个人信息后注册成功后即可登陆。

  (2)个人信息管理功能模块设计

用户登录系统后,可以进入系统管理来修改密码,输入旧密码、新密码并确认密码,保证新密码和确认密码一致的情况下则修改成功,如果不一致则就修改失败。

  (3)信息浏览功能模块

前端用户可以在民宿平台上浏览民宿信息、相关景点信息、民宿攻略信息、行业资讯信息等,可以查看具体各类信息的详情,并可以在线评论,对于喜欢的民宿或景点,可以进行收藏。

  (4)在线预定功能模块

前端用户登陆后,进入民宿介绍的详情页面,可以点击预定按钮,在线预定民宿,并可以在个人中心中管理自己预定的民宿,待后台管理员审核通过后即算预定成功。

  (5)民宿攻略模块

用户可以在线进行发贴,书写自己的相关民宿住宿的感受,或某个景点的旅游攻略信息,并可以在线管理自己的贴子。

  (6)个性化推荐模块

民宿管理平台系统,会根据用户的浏览记录,进行相关的计算,采用协同过滤算法来给不同的用户进行相应的信息推荐,目前的数据模型主要是依据用户浏览的民宿特点,匹配相关性的民宿信息,在首页推荐模块进行推荐展示。

  (7)全文检索模块

   在民宿管理平台系统中,前端用户可以根据相关的关键词来进行搜索,会全文匹配民宿信息,景点信息等,根据标题说明来进行模糊匹配,将查找到的信息展现出来。

  (8)投诉建议

除了提供用户的在线评论和收藏等互动功能外,还提供了投诉建议模块,以便用户及时反馈相关的意见,由后台管理员进行处理。

后端用户的功能模块介绍:

  (1)个人信息管理:管理员登陆后台可以对个人的信息进行相应的管理操作。

  (2)用户管理:管理员可以对前端注册的用户信息进行相应的管理操作。

  (3)轮播图管理:对前端首页的轮播图信息进行相应的管理操作,可根据需求进行轮播图的更换等。

  (4)行业资讯管理:主要管理和发布民宿行业的相关动态新闻信息。

  (5)民宿管理:主要管理发布的民宿信息,详细的介绍民宿的位置,特点等,并在后台指定民宿的地图定位坐标,这使得前端用户可以直接通过百度地图定位民宿所在位置。

  (6)景点管理:主要管理民宿附近的相关景点信息,完成景点信息的增删改查操作。

  (7)订单管理:主要管理前端用户的下单信息,前端会员预定民宿后,需要管理员在后台进行审核,生效后方可入住使用。

  (8)攻略管理:主要管理前端民宿会员用户发布和民宿攻略信息。

  (9)投诉建议:对前端用户发布的投诉建议信息进行相关的管理操作。

三,系统展示

3.1 系统前台界面的实现

系统的界面设计主要包含了系统的登录界面、主界面以及各功能界面的设计与实现。 下面展示一下特色民宿的前端会员用户实现的相关功能模块。

3.1.1 注册登录功能界面的实现

   用户注册页面填写注册信息后即可进行登陆操作,如果忘记密码,还可以根据账户和注册时的手机号来重新设置新密码,下面展示一下注册和登陆界面,具体如下图4-1、图4-2所示:

图4-1  注册界面

图4-2  登陆界面

3.1.2 民宿推荐功能界面的实现

  在特色民宿的首页,会根据当前登陆用户的浏览记录,来进行相关性的推荐,这其中采用的是协同过滤算法,如果用户未登陆,也根据协同过滤算法将浏览量最高的给以进行推荐,具体如下图4-3所示:

3.1.3 民宿详情界面的实现

  用户点击进入民宿详情页面,可以浏览查看民宿的详情信息,对于喜欢的民宿可以进行收藏操作,如果想入住也可以进行在线预定,还可以在线对当前民宿进行评论操作,具体如下图4-4、图4-5所示:

图4-4  民宿详情界面

图4-5  在线预定界面

3.1.4 我的预定界面的实现

   前端用户登陆后可以查看自己预定的民宿信息,并进行相应的管理操作,具体如下图4-6所示:

图4-6  我的订单界面

3.1.5 我的收藏界面的实现

   前端用户登陆后可以查看自己收藏的民宿或景点信息,并进行相应的管理操作,具体如下图4-7所示:

图4-7  我的收藏界面

3.1.6 投诉建议界面的实现

   前端用户登陆后可以在线进行投诉建议留言的操作,后台管理员查看后会进行相应的处理,具体如下图4-8所示:

图4-8  投诉建议界面

3.2 系统后台功能的实现

3.2.1 管理员登录功能的实现

特色民宿系统的后台管理员在后台登陆界面输入账户密码后提交数据到后台接口,查询数据库后进行比对是否正确,登陆成功后跳转到后台主页面。如图4-9所示。

图4-9  管理员登录界面

3.2.2 个人中心功能的实现

特色民宿系统的后台管理员登陆后台可以修改自己的密码信息,输入旧密码和新密码后提交到数据接口,经过判断旧密码成功后再更新新密码。如图4-10所示。

图4-10  个人密码修改界面

3.2.3 轮播图管理功能的实现

特色民宿系统的后台管理员登陆后台可以管理前端首页展示的轮播图广告信息,完成新增、查看、修改或删除操作。如图4-11所示。

图4-11 轮播图管理界面

3.2.4 用户管理功能的实现

特色民宿系统的后台管理员登陆后台可以管理前端注册的会员用户信息,完成用户的模糊查询、修改和删除操作。如图4-12所示。

图4-12 用户管理界面

3.2.5 资讯管理功能的实现

特色民宿系统的后台管理员登陆后台可以管理前端展示的民宿行业的资读信息,完成资讯新闻的相关操作。如图4-13所示。

图4-13 资读管理界面

3.2.6 民宿管理功能的实现

特色民宿系统的后台管理员登陆后台可以管理前端展示的民宿详情信息,完成民宿详情的相关管理操作。如图4-14所示。

图4-14 民宿管理界面

3.2.7 景点管理功能的实现

特色民宿系统的后台管理员登陆后台可以管理前端展示的景点详情信息,完成景点详情的相关管理操作。如图4-15所示。

图4-15 景点管理界面

3.2.8 订单管理功能的实现

特色民宿系统的后台管理员登陆后台可以管理前端用户预定的民宿订单信息,完成订单信息的相关管理操作。如图4-16所示。

图4-16 订单管理界面

3.2.9 攻略管理功能的实现

特色民宿系统的后台管理员登陆后台可以管理前端用户发布的民宿攻略信息,完成攻略信息的相关管理操作。如图4-17所示。

图4-17 攻略管理界面

3.2.10 投诉建议管理功能的实现

特色民宿系统的后台管理员登陆后台可以管理前端用户发布的投诉建议信息,完成投诉信息的相关管理操作。如图4-18所示。

图4-18 投诉管理界面

四,核心代码展示

package com.sys.controller.admin;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import com.sys.controller.MyController;
@Controller("adminController")
@RequestMapping(value = "/admin")
public class AdminController extends MyController {
  @RequestMapping(value = "/index")
  public String frame(Model model, HttpServletRequest request)throws Exception {
    return "/admin/index";
  }
  @RequestMapping(value = "/main")
  public String main(Model model, HttpServletRequest request)throws Exception {
    return "/admin/main";
  }
  @RequestMapping(value = "/tj1")
  public String tj1(Model model, HttpServletRequest request)throws Exception {
    String sql="select DATE_FORMAT(insertDate,'%Y-%m-%d') dates,sum(allPrice) price from t_order order by DATE_FORMAT(insertDate,'%Y-%m-%d')  desc";
    List<Map> list = db.queryForList(sql);
    model.addAttribute("list", list);
    System.out.println(list);
    return "/admin/tj/tj1";
  }
  @RequestMapping(value = "/password")
  public String password(Model model, HttpServletRequest request)throws Exception {
    return "/admin/password";
  }
  @RequestMapping(value = "/changePassword")
  public ResponseEntity<String> loginSave(Model model,HttpServletRequest request,String oldPassword,String newPassword) throws Exception {
    Map admin = getAdmin(request);
    if(oldPassword.equals(admin.get("password").toString())){
      String sql="update t_admin set password=? where id=?";
      db.update(sql, new Object[]{newPassword,admin.get("id")});
      return renderData(true,"1",null);
    }else{
      return renderData(false,"1",null);
    }
  }
}
package com.sys.controller.admin;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeSet;
import javax.servlet.http.HttpServletRequest;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import com.sys.controller.MyController;
import com.sys.controller.suanfa.Aprioti;
import com.sys.controller.suanfa.Itemset;
import com.sys.controller.xietong.XietongUtil;
import com.sxl.util.RandomValidateCode;
import com.sxl.util.StringHelper;
@Controller("frontController")
@RequestMapping(value = "/front")
public class FrontController extends MyController {
  /**
   * 使用协同过滤算法进行相关推荐
   * @param model
   * @param request
   * @return
   * @throws Exception
   */
  @RequestMapping(value = "/index")
  public String frame(Model model, HttpServletRequest request)
      throws Exception {
    String sql = "";
    sql = "select * from t_lbt";
    List list3 = db.queryForList(sql);
    request.setAttribute("list3", list3);
    sql = "select a.* from t_product a where 1=1 order by id desc limit 3";
    List listb = db.queryForList(sql);
    request.setAttribute("listb", listb);
    //协同过滤推荐算法
    if(getCustomer(request)!=null){
      //如果该用户登录了,身份确定了, 则可以用协同过滤推荐
      List<Map> customerList = db.queryForList("select * from t_customer");
      List<Map> dataList = db.queryForList("select distinct productId, customerId  from t_productclick where productId is not null and customerId is not null ");
      int usersize = customerList.size();
      String customerId = getCustomer(request).get("id").toString();
      /**
       * 输入用户-->物品条目  一个用户对应多个物品
       * 用户ID 物品ID集合
       *   A    a b d
       *   B    a c
       *   C    b e
       *   D    c d e
       */
      String[] userdata = new String[customerList.size()];
      for (int i = 0; i < customerList.size(); i++) {
        String customerid = customerList.get(i).get("id").toString();
        String aa="A"+customerid+"";
        for (int j = 0; j < dataList.size(); j++) {
          if(customerid.equals(dataList.get(j).get("customerId").toString())){
            aa+="@"+dataList.get(j).get("productId").toString();
          }
        }
        userdata[i]= aa+="@0";
        System.out.println("******"+aa);
      }
      String out = XietongUtil.xietongjob(usersize, userdata, "A2");
      String sqlall="select a.*  from t_product a where 1=1 ";
       sql=sqlall;
      if(out!=null&&!"".equals(out)){
        sql+=" and id in ("+out.substring(1,out.length())+")";
      }
      sql+="  order by rand() limit 8 ";
      //以上推荐算法最总结果在根据随机安排推荐
      //注!为了应对一开始人员访问数据量不够推荐算法使用的情况,就进行了数据补足,这个业务逻辑就非常完美了。
      List tuijianList = db.queryForList(sql);
      int a = 8;
      int b = 0;
      if(tuijianList==null||tuijianList.size()<8){
        if(tuijianList!=null){
          b = 8-tuijianList.size();
        }
        List list2 = db.queryForList(sqlall+" order by rand() limit "+b);
        tuijianList.addAll(list2);
      }else{
      }
      request.setAttribute("tuijianList", tuijianList);
    }else{
      //也就是说,如果网站用户未登录,则不能身份确认,所以用aprio算法
      //aprio推荐算法
      tuijiansuanfa(request);
    }
    return "/front/index";
  }
  /**
   * 专门有个算法包
   * 然后算法的逻辑也在这里,
   * 而且把算法之外额逻辑也加了
   * 注!为了应对一开始人员访问数据量不够推荐算法使用的情况,就进行了数据补足,这个业务逻辑就非常完美了。
   *
   * java推荐算法
   * @param request
   */
  public void tuijiansuanfa(HttpServletRequest request){
      Itemset originalItem = new Itemset();
      List<Map> lista = db.queryForList("select * from t_customer");
      for (int i = 0; i < lista.size(); i++) {
        TreeSet<String> itemset = new TreeSet<String>();
        List<Map> listb = db.queryForList("select * from t_productclick where customerId=?",new Object[]{lista.get(i).get("id")});
        for (int j = 0; j < listb.size(); j++) {
          itemset.add(listb.get(j).get("productId")+"");
        }
        originalItem.itemset.add(itemset);
      }
      Aprioti.originalItem=originalItem;
      List<Long> outList = Aprioti.aprioriProcess();
      String in ="";
      if(outList!=null&&outList.size()>0){
        for (int i = 0; i < outList.size(); i++) {
          in+=","+outList.get(i);
        }
      }
      String sqlall="select a.*  from t_product a where 1=1 ";
      String sql=sqlall;
      if(in!=null&&!"".equals(in)){
        sql+=" and id in ("+in.substring(1,in.length())+")";
      }
      sql+="  order by rand() limit 8 ";
      //以上推荐算法最总结果在根据随机安排推荐
      //注!为了应对一开始人员访问数据量不够推荐算法使用的情况,就进行了数据补足,这个业务逻辑就非常完美了。
      List tuijianList = db.queryForList(sql);
      int a = 8;
      int b = 0;
      if(tuijianList==null||tuijianList.size()<8){
        if(tuijianList!=null){
          b = 8-tuijianList.size();
        }
        List list2 = db.queryForList(sqlall+" order by rand() limit "+b);
        tuijianList.addAll(list2);
      }else{
      }
      request.setAttribute("tuijianList", tuijianList);
  }
  @RequestMapping(value = "/baidu1")
  public String baidu1(Model model, HttpServletRequest request)
      throws Exception {
    return "/front/baidu1";
  }
  @RequestMapping(value = "/baidu2")
  public String baidu2(Model model, HttpServletRequest request)
      throws Exception {
    return "/front/baidu2";
  }
  @RequestMapping(value = "/daohang1")
  public String daohang1(Model model, HttpServletRequest request,String id)
      throws Exception {
    Map map = db.queryForMap("select *from t_product where id="+id);
    model.addAttribute("map", map);
    return "/front/daohang1";
  }
  public String getjwd(HttpServletRequest request){
    Object jwdd= request.getSession().getAttribute("yhjwd");
    if(jwdd!=null){
      return jwdd.toString();
    }else{
      return "116.438189,39.9125";
    }
  }
  @RequestMapping(value = "/daohang2")
  public String daohang2(Model model, HttpServletRequest request,String id)
      throws Exception {
    Map map = db.queryForMap("select *from t_zx where id="+id);
    map = new HashMap();
    map.put("jwd", "116.661256,39.975119");
    model.addAttribute("map", map);
    String jwd = getjwd(request);
    System.out.println(jwd);
    System.out.println(map.get("jwd"));
    model.addAttribute("jwd", jwd);
    return "/front/daohang2";
  }
  @RequestMapping(value = "/login")
  public String login(Model model, HttpServletRequest request)
      throws Exception {
    return "/front/login";
  }
  public void saveClick(HttpServletRequest request,Long id){
    String sql="insert into t_productclick(productId,customerId,insertDate) values(?,?,now())";
    Map customer = getCustomer(request);
    if(customer!=null&&customer.size()>0){
      db.update(sql, new Object[]{id,getCustomer(request).get("id")});
    }
  }
  @RequestMapping(value = "/all")
  public String all(Model model, HttpServletRequest request,Long typesId,String productName,String px)
      throws Exception {
    String sql="select a.* from t_types a where 1=1";
      sql+=" order by id desc";
      List typesList = db.queryForList(sql);
      request.setAttribute("typesList", typesList);
       sql="select a.*,(select typesName from t_types b where a.typesId=b.id) typesName  from t_product a where 1=1";
       if(typesId!=null&&!"".equals(typesId)){
         sql+=" and a.typesId="+typesId;
       }
       if(productName!=null&&!"".equals(productName)){
         sql+=" and a.productName like '%"+productName+"%' ";
       }
       if("1".equals(px)){
         sql+=" order by id desc";
       }else  if("2".equals(px)){
         sql+=" order by price asc";
       }else  if("3".equals(px)){
         sql+=" order by price desc";
       }else  if("4".equals(px)){
         sql+=" order by djl desc";
       }
        List list = db.queryForList(sql);
        request.setAttribute("list", list);
    return "/front/all";
  }
  @RequestMapping(value = "/jfdh")
  public String jfdh(Model model, HttpServletRequest request)
      throws Exception {
    String sql="select a.* from t_jfdh a where 1=1";
      sql+=" order by id desc";
      List list = db.queryForList(sql);
      request.setAttribute("list", list);
    return "/front/jfdh";
  }
  @RequestMapping(value = "/dhjfSave")
  public ResponseEntity<String> dhjfSave(Model model,
      HttpServletRequest request,Long id) throws Exception {
    Map map = db.queryForMap("select * from t_jfdh where id="+id);
    String jf = map.get("jfCost").toString();
    String jfName = map.get("jfName").toString();
    //订单
    String sql = "insert into t_order(orderNum,customerId,productDetail,allPrice,status,insertDate) values(?,?,?,?,?,now())";
    int result = db.update(sql, new Object[] { System.currentTimeMillis()+"",
        getCustomer(request).get("id").toString(), jfName+"积分兑换["+jf+"]", 0+"", "兑换完成" });
    sql="update t_customer set jf = jf-"+jf+" where id="+getCustomer(request).get("id");
    db.update(sql);
    //积分减少
    return renderData(true, "操作成功", null);
  }
  @RequestMapping(value = "/register")
  public String register(Model model, HttpServletRequest request)
      throws Exception {
    System.out.println("112312312");
    return "/front/register";
  }
  @RequestMapping(value = "/detail")
  public String detail(Model model, HttpServletRequest request, Long id)
      throws Exception {
    //保存点击
    saveClick(request, id);
    String sql = "select a.*,(select typesName from t_types b where a.typesId=b.id) typesName " +
        " from t_product a where id=" + id;
    Map map = db.queryForMap(sql);
    request.setAttribute("map", map);
    String sql2="select a.*,(select max(customerName) from t_customer b where a.customerId=b.id) customerName from t_pinglun_product a where productId=? order by id desc";
    List<Map> list = db.queryForList(sql2,new Object[]{id});
    model.addAttribute("list", list);
    db.update("update t_product set djl=djl+1 where id="+id);
    int scNum = db.queryForInt("select count(1) from t_sc where productId="+id);
    model.addAttribute("scNum", scNum);
    return "/front/detail";
  }
  @RequestMapping(value = "/myOrder")
  public String myOrder(Model model, HttpServletRequest request)
      throws Exception {
    String sql = "select a.*,(select max(customerName) from t_customer b where a.customerId=b.id) customerName  from t_order a where 1=1 ";
    if (1 == 1) {
      sql += "and customerId=" + getCustomer(request).get("id") + " ";
    }
    sql += " order by id desc";
    List list = db.queryForList(sql);
    request.setAttribute("orderList", list);
    return "/front/myOrder";
  }
  @RequestMapping(value = "/deleteOneOrder")
  public ResponseEntity<String> deleteOneOrder(Model model,
      HttpServletRequest request,Long id) throws Exception {
    String sql="delete from t_order where id="+id;
    db.update(sql);
    return renderData(true, "操作成功", null);
  }
  @RequestMapping(value = "/pjSave")
  public ResponseEntity<String> pjSave(Model model,
      HttpServletRequest request,Long id,String pj) throws Exception {
    String sql="update t_order set pj='"+pj+"'  where id="+id;
    db.update(sql);
    return renderData(true, "操作成功", null);
  }
  @RequestMapping(value = "/deletesc")
  public ResponseEntity<String> deletesc(Model model,
      HttpServletRequest request,Long id) throws Exception {
    String sql="delete from t_sc where id="+id;
    db.update(sql);
    return renderData(true, "操作成功", null);
  }
  @RequestMapping(value = "/deletexiaoxi")
  public ResponseEntity<String> deletexiaoxi(Model model,
      HttpServletRequest request,Long id) throws Exception {
    String sql="delete from t_xiaoxi where id="+id;
    db.update(sql);
    return renderData(true, "操作成功", null);
  }
  @RequestMapping(value = "/addShopcar")
  public ResponseEntity<String> addShopcar(Model model,
      HttpServletRequest request, Long id, Integer num) throws Exception {
    int result = 0;
    db.update("delete from t_shopcar where customerId="+getCustomer(request).get("id"));
    String sql = "insert into t_shopcar(productId,num,customerId) values(?,?,?)";
    result = db.update(sql, new Object[] { id, 1,
        getCustomer(request).get("id").toString() });
    return renderData(true, "操作成功", null);
  }
  @RequestMapping(value = "/pay3")
  public ResponseEntity<String> pay3(Model model, HttpServletRequest request,Long address)
      throws Exception {
    String sql = "select a.*,(select productName from t_product b where a.productId=b.id) productName,"
        + "(select price from t_product b where a.productId=b.id) price,(select jf from t_product b where a.productId=b.id) jf  from t_shopcar a where customerId="
        + getCustomer(request).get("id");
    sql += " order by id desc";
    List<Map> list = db.queryForList(sql);
    int total = 0;
    int jf = 0;
    String productDetail = "";
    String productId="";
    for (int i = 0; i < list.size(); i++) {
      productId = list.get(i).get("productId").toString();
      productDetail += "," + list.get(i).get("productName") + "["
          + list.get(i).get("num") + "]";
      total += Integer.parseInt(list.get(i).get("price").toString())
          * Integer.parseInt(list.get(i).get("num").toString());
//      jf+=Integer.parseInt(list.get(i).get("jf").toString())
//          * Integer.parseInt(list.get(i).get("num").toString());
      String sql2="update t_product set nums=nums-"+list.get(i).get("num").toString()+" where id="+list.get(i).get("productId").toString();
      db.update(sql2);
    }
    Map addressMap = db.queryForMap("select * from t_address where id=?",new Object[]{address});
    sql = "insert into t_order(orderNum,customerId,productDetail,allPrice,status,insertDate,lxr,lxfs,address,productId) values(?,?,?,?,?,now(),?,?,?,?)";
    int result = db.update(sql, new Object[] { System.currentTimeMillis()+"",
        getCustomer(request).get("id").toString(),  productDetail.subSequence(1, productDetail.length()), total+"", "等待处理",addressMap.get("lxr"),addressMap.get("phone"),addressMap.get("xxdz"),productId });
    sql = "delete from t_shopcar where customerId="
        + getCustomer(request).get("id");
    db.update(sql);
    if (result == 1) {
      return renderData(true, "操作成功", null);
    } else {
      return renderData(false, "操作失败", null);
    }
  }
//  @RequestMapping(value = "/addShopcar")
//  public ResponseEntity<String> addShopcar(Model model,
//      HttpServletRequest request, Long id, Integer num) throws Exception {
//    int result = 0;
//    // 判断该用户是否
//    String sql = "select * from t_shopcar where  productId=? and customerId=?";
//    Map map = db.queryForMap(sql, new Object[] { id.toString(),
//        getCustomer(request).get("id").toString() });
//    if (map != null && map.size() > 0) {
//      sql = "update t_shopcar set productId=?,num=num+" + num
//          + " where id=?";
//      result = db.update(sql, new Object[] { id, map.get("id") });
//    } else {
//      sql = "insert into t_shopcar(productId,num,customerId) values(?,?,?)";
//      result = db.update(sql, new Object[] { id, num,
//          getCustomer(request).get("id").toString() });
//    }
//    if (result == 1) {
//      return renderData(true, "操作成功", null);
//    } else {
//      return renderData(false, "操作失败", null);
//    }
//  }
  @RequestMapping(value = "/checkIsLogin")
  public ResponseEntity<String> checkIsLogin(Model model,
      HttpServletRequest request) throws Exception {
    Map customer = getCustomer(request);
    if (customer != null && customer.size() > 0) {
      return renderData(true, "操作成功", null);
    } else {
      return renderData(false, "操作失败", null);
    }
  }
  @RequestMapping(value = "/pay")
  public ResponseEntity<String> pay(Model model, HttpServletRequest request,Long address)
      throws Exception {
    String orderDate = request.getParameter("orderDate");
    String zffs = request.getParameter("zffs");
    String sql = "select a.*,(select productName from t_product b where a.productId=b.id) productName,"
        + "(select price from t_product b where a.productId=b.id) price,(select jf from t_product b where a.productId=b.id) jf  from t_shopcar a where customerId="
        + getCustomer(request).get("id");
    sql += " order by id desc";
    List<Map> list = db.queryForList(sql);
    int total = 0;
    int jf = 0;
    String productDetail = "";
    String productId="";
    for (int i = 0; i < list.size(); i++) {
      productId = list.get(i).get("productId").toString();
      productDetail = list.get(i).get("productName").toString() ;
      sql = "insert into t_order(orderNum,customerId,productDetail,allPrice,status,insertDate,lxr,lxfs,address,productId,orderDate,zffs) values(?,?,?,?,?,now(),?,?,?,?,?,?)";
      db.update(sql, new Object[] { System.currentTimeMillis()+"",
          getCustomer(request).get("id").toString(),  productDetail, list.get(i).get("price").toString()+"", "等待处理",null,null,null,productId ,orderDate,zffs});
    }
    sql = "delete from t_shopcar where customerId="
        + getCustomer(request).get("id");
    db.update(sql);
    return renderData(true, "操作成功", null);
  }
  @RequestMapping(value = "/shopcar")
  public String shopcar(Model model, HttpServletRequest request)
      throws Exception {
    Map customer = getCustomer(request);
    if (customer != null && customer.size() > 0) {
    } else {
      return "redirect:/front/register.html";
    }
    String sql="select a.* from t_address a where 1=1";
    if(1==1){sql+=" and customerId="+getCustomer(request).get("id") +" ";}
    sql+=" order by id desc";
    List addressList = db.queryForList(sql);
    request.setAttribute("addressList", addressList);
     sql = "select b.*,a.id ids,a.num num   from t_shopcar a left join t_product b on a.productId=b.id  where 1=1 and customerId="
        + getCustomer(request).get("id");
    sql += " order by id desc";
    System.out.println(sql);
    List<Map> list = db.queryForList(sql);
    request.setAttribute("list", list);
    System.out.println(list);
    int total = 0;
    if(list!=null&&list.size()>0){
      for (int i = 0; i < list.size(); i++) {
        total += Integer.parseInt(list.get(i).get("price").toString())
            * Integer.parseInt(list.get(i).get("num").toString());
      }
    }
    request.setAttribute("total", total);
    return "/front/shopcar";
  }
  @RequestMapping(value = "/save")
  public ResponseEntity<String> loginSave(Model model,
      HttpServletRequest request, String username, String password)
      throws Exception {
    String sql = "select * from t_customer where username=?";
    List<Map> list = db.queryForList(sql, new Object[] { username });
    String result = "1";
    if (list != null && list.size() > 0) {
      Map map = list.get(0);
      if (StringHelper.get(map, "password").equals(password)) {
        request.getSession().setMaxInactiveInterval(60 * 60 * 24);
        request.getSession().setAttribute("customerBean", map);
        result = "1";
      } else {
        result = "0";
      }
    } else {
      result = "0";
    }
    return renderData(true, result, null);
  }
  @RequestMapping(value = "/deleteOneShopCar")
  public ResponseEntity<String> deleteOneShopCar(Model model,
      HttpServletRequest request,Long id)
      throws Exception {
    String sql="delete from t_shopcar where id="+id;
    db.update(sql);
    return renderData(true, "", null);
  }
  @RequestMapping(value = "/updateShopCar")
  public ResponseEntity<String> updateShopCar(Model model,
      HttpServletRequest request,Long id,Integer num)
      throws Exception {
    String sql="update t_shopcar set num="+num+" where id="+id;
    System.out.println(sql);
    db.update(sql);
    return renderData(true, "", null);
  }
  @RequestMapping(value = "/registerSave")
  public ResponseEntity<String> registerSave(Model model,
      HttpServletRequest request, Long id, String username,
      String password, String customerName, String sex, String address,String headPic,
      String phone) throws Exception {
    String yzm = request.getParameter("yzm");
    String yzmnow = request.getSession().getAttribute(RandomValidateCode.RANDOMCODEKEY).toString().toUpperCase();
    if(!yzmnow.equals(yzm.toUpperCase())){
      return renderData(false, "5", null);
    }
    int a = db.queryForInt("select count(1) from t_customer where username=?",new Object[]{username});
    if(a>0){
      return renderData(false, "1", null);
    }
    int result = 0;
    if(headPic==null||"".equals(headPic)){
      headPic ="resource/front4/123.jpg";
    }
    String sql = "insert into t_customer(username,password,customerName,sex,address,phone,headPic) values(?,?,?,?,?,?,?)";
    result = db.update(sql, new Object[] { username, password, customerName, sex,
        address, phone,headPic });
    sql = "select * from t_customer order by id desc limit 1";
    List<Map> list = db.queryForList(sql);
    request.getSession().setMaxInactiveInterval(60 * 60 * 24);
    request.getSession().setAttribute("customerBean", list.get(0));
    return renderData(true, "操作成功", null);
  }
  @RequestMapping(value = "/out")
  public String out(Model model, HttpServletRequest request) throws Exception {
    request.getSession().removeAttribute("customerBean");
    return "redirect:/front/login.html";
  }
  @RequestMapping(value = "/mine")
  public String mine(Model model, HttpServletRequest request)
      throws Exception {
    Map customer = getCustomer(request);
    Map map = db.queryForMap("select * from t_customer where id=?",
        new Object[] { customer.get("id") });
    model.addAttribute("customer", map);
    return "/front/mine";
  }
  @RequestMapping(value = "/mineSave")
  public ResponseEntity<String> mineSave(Model model,
      HttpServletRequest request, Long id, String username,
      String password, String customerName, String sex, String address,String headPic,
      String phone) throws Exception {
    int result = 0;
    String sql = "update t_customer set customerName=?,sex=?,address=?,phone=?,headPic=? where id=?";
    result = db.update(sql, new Object[] { customerName, sex, address, phone,headPic, id });
    sql = "select * from t_customer where id="+id;
    List<Map> list = db.queryForList(sql);
    request.getSession().setMaxInactiveInterval(60 * 60 * 24);
    request.getSession().setAttribute("customerBean", list.get(0));
    return renderData(true, "操作成功", null);
  }
  @RequestMapping(value = "/password")
  public String password(Model model, HttpServletRequest request)
      throws Exception {
    return "/front/password";
  }
  @RequestMapping(value = "/changePassword")
  public ResponseEntity<String> changePassword(Model model,
      HttpServletRequest request, String oldPassword, String newPassword)
      throws Exception {
    Map customer = getCustomer(request);
    if (oldPassword.equals(customer.get("password").toString())) {
      String sql = "update t_customer set password=? where id=?";
      db.update(sql, new Object[] { newPassword, customer.get("id") });
      return renderData(true, "1", null);
    } else {
      return renderData(false, "1", null);
    }
  }
  @RequestMapping(value = "/scSave")
  public ResponseEntity<String> scSave(Model model,
      HttpServletRequest request, Long id, String pl) throws Exception {
    int result = 0;
    String customerId = getCustomer(request).get("id").toString();
    db.update("delete from t_sc  where productId=? and customerId=? ", new Object[] {id,customerId });
    String sql = "insert into t_sc(productId,customerId,insertDate) values(?,?,now())";
    result = db.update(sql, new Object[] {id,customerId });
    return renderData(true, "操作成功", null);
  }
  @RequestMapping(value = "/plSave")
  public ResponseEntity<String> plSave(Model model,
      HttpServletRequest request, Long id, String pl) throws Exception {
    int result = 0;
    String sql = "update t_order set pl=? where id=?";
    result = db.update(sql, new Object[] { pl, id });
    if (result == 1) {
      return renderData(true, "操作成功", null);
    } else {
      return renderData(false, "操作失败", null);
    }
  }
  @RequestMapping(value = "/contact")
  public String fk(Model model, HttpServletRequest request) throws Exception {
    return "/front/contact";
  }
  @RequestMapping(value = "/contactSave")
  public ResponseEntity<String> contactSave(Model model,
      HttpServletRequest request, String content, String phone)
      throws Exception {
    int result = 0;
    String sql = "insert into t_contact(customerId,phone,content,insertDate) values(?,?,?,now())";
    result = db.update(sql, new Object[] { getCustomer(request).get("id"),
        phone, content });
    if (result == 1) {
      return renderData(true, "操作成功", null);
    } else {
      return renderData(false, "操作失败", null);
    }
  }
  @RequestMapping(value = "/message")
  public String message(Model model, HttpServletRequest request)
      throws Exception {
    String sql = "select a.*,(select max(name) from t_customer b where a.customerId=b.id) customerName  from t_message a where 1=1 ";
    sql += " and customerId=" + getCustomer(request).get("id") + " ";
    sql += " order by id desc";
    List list = db.queryForList(sql);
    request.setAttribute("list", list);
    System.out.println(list);
    return "/front/message";
  }
  @RequestMapping(value = "/saveMessageContent")
  public ResponseEntity<String> saveMessageContent(Model model,
      HttpServletRequest request, String messageContent) throws Exception {
    Map customer = getCustomer(request);
    String sql = "insert into t_message(customerId,messageContent,insertDate,types) values(?,?,now(),1)";//1代表我
    int result = db
        .update(sql, new Object[] { getCustomer(request).get("id"),
            messageContent });
    return renderData(true, "1", null);
  }
  ///前端增删改查例子开始//
  @RequestMapping(value = "/test")
  public String test(Model model, HttpServletRequest request,String flag,String testName)throws Exception {
    String sql="select a.*,(select max(name) from t_customer b where a.customerId=b.id) customerName  from t_test a where 1=1";
    if(testName!=null&&!"".equals(testName)){
      sql+=" and testName like '%"+testName+"%' ";
    }
    sql+="  and customerId="+getCustomer(request).get("id");
    sql+=" order by id desc";
    List list = db.queryForList(sql);
    request.setAttribute("list", list);
    return "/front/test";
  }
  @RequestMapping(value = "/testaddSave")
  public ResponseEntity<String> testaddSave(Model model,HttpServletRequest request,Long id,String flag
    ,Integer customerId,String testName,String testContent,String testSex,String testDay,String testPic,String insertDate) throws Exception{
    int result = 0;
    if(id!=null){
      String sql="update t_test set testName=?,testContent=?,testSex=?,testDay=?,testPic=? where id=?";
      result = db.update(sql, new Object[]{testName,testContent,testSex,testDay,testPic,id});
    }else{
      String sql="insert into t_test(customerId,testName,testContent,testSex,testDay,testPic,insertDate) values(?,?,?,?,?,?,now())";
      result = db.update(sql, new Object[]{getCustomer(request).get("id"),testName,testContent,testSex,testDay,testPic});
    }
    if(result==1){
      return renderData(true,"操作成功",null);
    }else{
      return renderData(false,"操作失败",null);
    }
  }
  @RequestMapping(value = "/testDelete")
  public ResponseEntity<String> testDelete(Model model,HttpServletRequest request,Long id,String flag) throws Exception {
    String sql="delete from t_test where id=?";
    int result = db.update(sql, new Object[]{id});
    if(result==1){
      return renderData(true,"操作成功",null);
    }else{
      return renderData(false,"操作失败",null);
    }
  }
  @RequestMapping(value = "/testadd")
  public String testadd(Model model, HttpServletRequest request,Long id,String flag)throws Exception {
    if(id!=null){
      //修改
      String sql="select * from t_test where id=?";
      Map map = db.queryForMap(sql,new Object[]{id});
      model.addAttribute("map", map);
    }String sql="";
    return "/front/testadd";
  }
  ///前端增删改查例子结束/
  @RequestMapping(value = "/find")
  public String find(Model model, HttpServletRequest request)
      throws Exception {
    return "/front/find";
  }
  @RequestMapping(value = "/findSave")
  public ResponseEntity<String> findSave(Model model,
      HttpServletRequest request, String username, String phone)
      throws Exception {
    String sql = "select * from t_customer where username=? and phone=?";
    List<Map> list = db.queryForList(sql, new Object[] { username,phone });
    System.out.println(list);
    String result = "1";
    if (list != null && list.size() > 0) {
      Map map = list.get(0);
      return renderData(true, result, null);
    } else {
      return renderData(false, result, null);
    }
  }
  @RequestMapping(value = "/findSaveConfirm")
  public ResponseEntity<String> findSaveConfirm(Model model,
      HttpServletRequest request, String username, String phone,String password)
      throws Exception {
    String sql = "update t_customer set password=? where  username=? and phone=?";
    db.update(sql, new Object[] {password, username,phone });
    return renderData(true, "", null);
  }
  @RequestMapping(value = "/lt")
  public String lt(Model model, HttpServletRequest request,String searchName,Long oneClassifyId)
      throws Exception {
    Map customer = getCustomer(request);
    String sql="select a.*,(select max(customerName) from t_customer b where b.id=a.customerId) customerName," +
        "(select count(1) from t_pinglun b where b.wdxxId=a.id) nums from t_wdxx a where 1=1  ";
    if(searchName !=null&&!"".equals(searchName)){
      sql+=" and a.title like '%"+searchName+"%'";
    }
    if(customer==null||customer.size()==0){
      sql+=" and a.nologin='是' ";
    }
    sql+=" order by id desc";
    List<Map> list = db.queryForList(sql);
    model.addAttribute("list", list);
    return "/front/lt";
  }
  @RequestMapping(value = "/wdxxList")
  public String wdxxList(Model model, HttpServletRequest request,String flag,String title)throws Exception {
    String sql="select a.*,(select max(customerName) from t_customer b where a.customerId=b.id) customerName  from t_wdxx a where 1=1";
    if(1==1){sql+=" and customerId="+getCustomer(request).get("id") +" ";}
  if(title!=null&&!"".equals(title)){
      sql+=" and title like '%"+title+"%'";
    }
    sql+=" order by id desc";
    List list = db.queryForList(sql);
    request.setAttribute("list", list);
    return "/front/wdxxList";
  }
  @RequestMapping(value = "/mineaddress")
  public String mineaddress(Model model, HttpServletRequest request,String flag,String title)throws Exception {
    String sql="select a.* from t_address a where 1=1";
    if(1==1){sql+=" and customerId="+getCustomer(request).get("id") +" ";}
    sql+=" order by id desc";
    List list = db.queryForList(sql);
    request.setAttribute("list", list);
    return "/front/mineaddress";
  }
  @RequestMapping(value = "/minesc")
  public String minesc(Model model, HttpServletRequest request,String flag,String title)throws Exception {
    String sql="select (select max(productName) from t_product b where b.id=a.productId) productName,(select max(productPic1) from t_product b where b.id=a.productId) productPic1,id,productId  from t_sc a where 1=1";
if(1==1){sql+=" and customerId="+getCustomer(request).get("id") +" ";}
    sql+=" order by id desc";
    List list = db.queryForList(sql);
    System.out.println(sql);
    request.setAttribute("list", list);
    return "/front/minesc";
  }
  @RequestMapping(value = "/minexiaoxi")
  public String minexiaoxi(Model model, HttpServletRequest request,String flag,String title)throws Exception {
    String sql=" select * from t_xiaoxi a where 1=1";
if(1==1){sql+=" and customerId="+getCustomer(request).get("id") +" ";}
    sql+=" order by id desc";
    List list = db.queryForList(sql);
    request.setAttribute("list", list);
    return "/front/minexiaoxi";
  }
  @RequestMapping(value = "/hywdxxList")
  public String hywdxxList(Model model, HttpServletRequest request,String flag,String title)throws Exception {
    Map customer = getCustomer(request);
    String sql="select a.*,(select max(name) from t_customer b where a.customerId=b.id) customerName  from t_wdxx a where 1=1";
    sql+=" and exists(select 1 from t_wdhy b where a.customerId=b.hhId and b.customerId="+customer.get("id")+") ";
  if(title!=null&&!"".equals(title)){
      sql+=" and title like '%"+title+"%'";
    }
    sql+=" order by id desc";
    List list = db.queryForList(sql);
    request.setAttribute("list", list);
    return "/front/wdxxList";
  }
  @RequestMapping(value = "/wdxxEditSave")
  public ResponseEntity<String> editSave(Model model,HttpServletRequest request,Long id,String flag
    ,Integer customerId,String title,String pic,String content,Integer zan,String insertDate,String nologin,Long bkId) throws Exception{
    int result = 0;
    if(id!=null){
      String sql="update t_wdxx set title=?,pic=?,content=?,nologin=?,bkId=? where id=?";
      result = db.update(sql, new Object[]{title,pic,content,nologin,bkId,id});
    }else{
      String sql="insert into t_wdxx(customerId,title,pic,content,zan,insertDate,nologin,bkId) values(?,?,?,?,?,now(),?,?)";
      result = db.update(sql, new Object[]{getCustomer(request).get("id"),title,pic,content,0,nologin,bkId});
    }
    if(result==1){
      return renderData(true,"操作成功",null);
    }else{
      return renderData(false,"操作失败",null);
    }
  }
  @RequestMapping(value = "/mineaddressEditSave")
  public ResponseEntity<String> mineaddressEditSave(Model model,HttpServletRequest request,Long id,String province,String city,String area,String phone,String lxr,String xxdz) throws Exception{
    int result = 0;
    if(id!=null){
      String sql="update t_address set province=?,city=?,area=?,phone=?,lxr=?,xxdz=? where id=?";
      result = db.update(sql, new Object[]{province,city,area,phone,lxr,xxdz,id});
    }else{
      String sql="insert into t_address(customerId,province,city,area,phone,lxr,xxdz) values(?,?,?,?,?,?,?)";
      result = db.update(sql, new Object[]{getCustomer(request).get("id"),province,city,area,phone,lxr,xxdz});
    }
    if(result==1){
      return renderData(true,"操作成功",null);
    }else{
      return renderData(false,"操作失败",null);
    }
  }
  @RequestMapping(value = "/wdxxEditDelete")
  public ResponseEntity<String> editDelete(Model model,HttpServletRequest request,Long id,String flag) throws Exception {
    String sql="delete from t_wdxx where id=?";
    int result = db.update(sql, new Object[]{id});
    if(result==1){
      return renderData(true,"操作成功",null);
    }else{
      return renderData(false,"操作失败",null);
    }
  }
  @RequestMapping(value = "/wdxxEdit")
  public String wdxxEdit(Model model, HttpServletRequest request,Long id,String flag)throws Exception {
    if(id!=null){
      //修改
      String sql="select * from t_wdxx where id=?";
      Map map = db.queryForMap(sql,new Object[]{id});
      model.addAttribute("map", map);
    }String sql="";
    return "/front/wdxxEdit";
  }
  @RequestMapping(value = "/mineaddressEdit")
  public String mineaddressEdit(Model model, HttpServletRequest request,Long id,String flag)throws Exception {
    if(id!=null){
      //修改
      String sql="select * from t_address where id=?";
      Map map = db.queryForMap(sql,new Object[]{id});
      model.addAttribute("map", map);
    }String sql="";
    return "/front/mineaddressEdit";
  }
  @RequestMapping(value = "/wdxxShow")
  public String wdxxShow(Model model, HttpServletRequest request,Long id,String flag)throws Exception {
    if(id!=null){
      //修改
      String sql="select a.*,(select max(customerName) from t_customer b where a.customerId=b.id) customerName,(select count(1) from t_pinglun b where b.wdxxId=a.id) nums from t_wdxx a where id=?";
      Map map = db.queryForMap(sql,new Object[]{id});
      model.addAttribute("map", map);
    }
    String sql="select a.*,(select max(customerName) from t_customer b where a.customerId=b.id) customerName,(select max(headPic) from t_customer b where a.customerId=b.id) headPic from t_pinglun a where wdxxId=? order by id desc";
    List<Map> list = db.queryForList(sql,new Object[]{id});
    model.addAttribute("list", list);
     sql="select a.*,(select max(customerName) from t_customer b where a.customerId=b.id) customerName  from t_wdxx a where 1=1 order by zan desc limit 4";
    List list3 = db.queryForList(sql);
    request.setAttribute("list3", list3);
    sql="select a.*,(select max(customerName) from t_customer b where a.customerId=b.id) customerName  from t_wdxx a where 1=1 order by id desc limit 4";
    List list4 = db.queryForList(sql);
    request.setAttribute("list4", list4);
    return "/front/wdxxShow";
  }
  @RequestMapping(value = "/wdxxDelete")
  public ResponseEntity<String> wdxxDelete(Model model,
      HttpServletRequest request, Long id) throws Exception {
    Map customer = getCustomer(request);
    String sql="delete from t_wdxx where  id=?";
    db.update(sql, new Object[]{id});
    return renderData(true, "操作成功", null);
  }
  @RequestMapping(value = "/addressDelete")
  public ResponseEntity<String> addressDelete(Model model,
      HttpServletRequest request, Long id) throws Exception {
    Map customer = getCustomer(request);
    String sql="delete from t_address where  id=?";
    db.update(sql, new Object[]{id});
    return renderData(true, "操作成功", null);
  }
  @RequestMapping(value = "/pinglunSave")
  public ResponseEntity<String> pinglunSave(Model model,HttpServletRequest request,Long id,String flag
    ,String wdxxId,Integer customerId,String content,String insertDate) throws Exception{
    int result = 0;
    String sql="insert into t_pinglun(wdxxId,customerId,content,insertDate) values(?,?,?,now())";
    result = db.update(sql, new Object[]{wdxxId,getCustomer(request).get("id"),content});
    if(result==1){
      return renderData(true,"操作成功",null);
    }else{
      return renderData(false,"操作失败",null);
    }
  }
  @RequestMapping(value = "/productPinglunSave")
  public ResponseEntity<String> productPinglunSave(Model model,HttpServletRequest request,Long id,String flag
    ,String productId,Integer customerId,String content,String insertDate) throws Exception{
    int result = 0;
    String sql="insert into t_pinglun_product(productId,customerId,content,insertDate) values(?,?,?,now())";
    result = db.update(sql, new Object[]{productId,getCustomer(request).get("id"),content});
    if(result==1){
      return renderData(true,"操作成功",null);
    }else{
      return renderData(false,"操作失败",null);
    }
  }
  @RequestMapping(value = "/zanSave")
  public ResponseEntity<String> zanSave(Model model,HttpServletRequest request,Long id) throws Exception{
    int result = 0;
    String sql="update t_wdxx set zan=zan+1 where id=?";
    result = db.update(sql, new Object[]{id});
    if(result==1){
      return renderData(true,"操作成功",null);
    }else{
      return renderData(false,"操作失败",null);
    }
  }
  @RequestMapping(value = "/zxList")
  public String zxList(Model model, HttpServletRequest request,String flag,String title)throws Exception {
    String sql="select a.* from t_zx a where 1=1 ";
  if(title!=null&&!"".equals(title)){
      sql+=" and title like '%"+title+"%'";
    }
    sql+=" order by id desc";
    List list = db.queryForList(sql);
    request.setAttribute("list", list);
    return "/front/zxList";
  }
  @RequestMapping(value = "/zxShow")
  public String zxShow(Model model, HttpServletRequest request,Long id,String flag)throws Exception {
    String sql="select * from t_zx where id=?";
    Map map = db.queryForMap(sql,new Object[]{id});
    model.addAttribute("map", map);
     sql="select a.* from t_zx a where 1=1 ";
      sql+=" order by id desc limit 3";
      List list = db.queryForList(sql);
      request.setAttribute("list", list);
    return "/front/zxShow";
  }
  @RequestMapping(value = "/ltjlDelete")
  public ResponseEntity<String> ltjlDelete(Model model,HttpServletRequest request,Long id,String pl,String flag) throws Exception {
    System.out.println("getCustomer(request).get()==================="+getCustomer(request).get("id"));
    db.update("delete from t_liaotian where customerId=? or toId=?", new Object[]{getCustomer(request).get("id"),getCustomer(request).get("id")});
    return renderData(true,"操作成功",null);
  }
  @RequestMapping(value = "/liaotian")
  public String liaotian(Model model, HttpServletRequest request,Long id,String flag,Long toId)throws Exception {
    Map customer = getCustomer(request);
    if (customer != null && customer.size() > 0) {
    } else {
      return "redirect:/front/register.html";
    }
    String customerId = getCustomer(request).get("id").toString();
    String batchNum1 = customerId+"&&"+toId;
    String batchNum2 = toId+"&&"+customerId;
    List list = db.queryForList("select a.*,(select max(customerName) from t_customer b where a.customerId=b.id) customerName1," +
        "(select max(name) from t_user c where a.toId=c.id) customerName2 from t_liaotian a where batchNum in ('"+batchNum1+"','"+batchNum2+"') order by id asc");
    System.out.println("select a.*,(select max(customerName) from t_customer b where a.customerId=b.id) customerName1," +
        "(select max(name) from t_user c where a.toId=c.id) customerName2 from t_liaotian a where batchNum in ('"+batchNum1+"','"+batchNum2+"') order by id asc");
    model.addAttribute("list", list);
    System.out.println(list);
    return "/front/liaotian";
  }
  @RequestMapping(value = "/woxiaoxi")
  public String woxiaoxi(Model model, HttpServletRequest request,Long id,String flag,Long toId)throws Exception {
    String customerId = getCustomer(request).get("id").toString();
    String sql="select customerId,(select max(customerName) from t_customer b where b.id=a.customerId) customerName  from t_liaotian a where toId="+customerId+" group by customerId ";
    System.out.println(db.queryForList(sql));
    model.addAttribute("list", db.queryForList(sql));
    return "/front/woxiaoxi";
  }
  @RequestMapping(value = "/liaotianSave")
  public ResponseEntity<String> liaotianSave(Model model,HttpServletRequest request,Long toId,String content) throws Exception {
    String customerId = getCustomer(request).get("id").toString();
    String batchNum = customerId+"&&"+toId;
    db.update("insert into t_liaotian(customerId,toId,content,insertDate,batchNum,fq) values(?,?,?,now(),?,1)", new Object[]{customerId,toId,content,batchNum});
    return renderData(true,"操作成功",null);
  }
}

五,相关作品展示

基于Java开发、Python开发、PHP开发、C#开发等相关语言开发的各类毕业设计作品

基于Nodejs、Vue等前端技术开发设计的前端毕业设计作品

基于微信小程序和安卓APP应用开发的相关作品

基于51单片机等嵌入式物联网开发应用

基于各类算法实现的AI智能应用

基于大数据实现的各类数据管理和推荐系统

前沿技术、一站式服务、贴心售后解决你后顾之忧

相关文章
|
6月前
|
传感器 小程序 搜索推荐
(源码)java开发的一套(智慧校园系统源码、电子班牌、原生小程序开发)多端展示:web端、saas端、家长端、教师端
通过电子班牌设备和智慧校园数据平台的统一管理,在电子班牌上,班牌展示、学生上课刷卡考勤、考勤状况汇总展示,课表展示,考场管理,请假管理,成绩查询,考试优秀标兵展示、校园通知展示,班级文化各片展示等多种化展示。
97 0
(源码)java开发的一套(智慧校园系统源码、电子班牌、原生小程序开发)多端展示:web端、saas端、家长端、教师端
|
4月前
|
开发者 图形学 iOS开发
掌握Unity的跨平台部署与发布秘籍,让你的游戏作品在多个平台上大放异彩——从基础设置到高级优化,深入解析一站式游戏开发解决方案的每一个细节,带你领略高效发布流程的魅力所在
【8月更文挑战第31天】跨平台游戏开发是当今游戏产业的热点,尤其在移动设备普及的背景下更为重要。作为领先的游戏开发引擎,Unity以其卓越的跨平台支持能力脱颖而出,能够将游戏轻松部署至iOS、Android、PC、Mac、Web及游戏主机等多个平台。本文通过杂文形式探讨Unity在各平台的部署与发布策略,并提供具体实例,涵盖项目设置、性能优化、打包流程及发布前准备等关键环节,助力开发者充分利用Unity的强大功能,实现多平台游戏开发。
118 0
|
4月前
|
开发者 图形学 API
从零起步,深度揭秘:运用Unity引擎及网络编程技术,一步步搭建属于你的实时多人在线对战游戏平台——详尽指南与实战代码解析,带你轻松掌握网络化游戏开发的核心要领与最佳实践路径
【8月更文挑战第31天】构建实时多人对战平台是技术与创意的结合。本文使用成熟的Unity游戏开发引擎,从零开始指导读者搭建简单的实时对战平台。内容涵盖网络架构设计、Unity网络API应用及客户端与服务器通信。首先,创建新项目并选择适合多人游戏的模板,使用推荐的网络传输层。接着,定义基本玩法,如2D多人射击游戏,创建角色预制件并添加Rigidbody2D组件。然后,引入网络身份组件以同步对象状态。通过示例代码展示玩家控制逻辑,包括移动和发射子弹功能。最后,设置服务器端逻辑,处理客户端连接和断开。本文帮助读者掌握构建Unity多人对战平台的核心知识,为进一步开发打下基础。
150 0
|
5月前
|
算法 安全 数据安全/隐私保护
一对一语音视频交友系统开发详细指南丨案例设计丨功能需求丨方案逻辑丨项目流程丨源码教程
一对一语音视频交友系统开发指的是开发一种用于让用户通过语音和视频进行一对一交流的交友系统。该系统旨在提供一个平台,让用户可以通过语音和视频相互了解、交流和建立关系。以下是一对一语音视频交友系统开发的一些关键特点:
|
7月前
|
搜索推荐 数据管理 数据挖掘
解码2024年项目管理系统:排行榜背后的功能与特色解析
2024年十大项目管理工具:Zoho Projects以其专业成熟度领先,适合跨部门协作和进度跟踪;Nifty适合初创公司,界面直观,响应快速;Quickbase面向处理大量信息的团队,提供定制化解决方案;WorkOtter专为中大型企业资源管理和汇报设计;Asana适合大型协作团队,任务管理和沟通高效;Monday.com高度可定制,适合复杂项目管理;Smartsheet结合电子表格功能,适合流程多变的团队;Adobe Workfront针对复杂项目和自动化需求;ClickUp是一站式工作平台,功能多样;Trello则以简洁看板适合小团队和个人。考虑团队规模、项目复杂度和个性化需求来选工具
78 1
|
7月前
|
自然语言处理 安全 AndFix
区块链商城系统开发步骤指南/详细需求/源码功能/多语言/海外版
When developing a blockchain mall system, the following steps and requirements are usually required:
|
7月前
|
前端开发 搜索推荐 算法
如何用Java实现一套特色民宿平台系统?
如何用Java实现一套特色民宿平台系统?
129 0
|
新零售 大数据 云计算
泰山众筹商城系统开发案例详细/方案程序/成熟技术/开发项目/源码平台
  新零售指的就是线上、线下和物流必须结合在一起。也就是说,线下的企业必须走到线上去,线上的企业必须走到线下来,线上、线下同现代物流结合在一起,才能真正创造出新的销售方式。
化繁为简!阿里新产亿级流量系统设计核心原理高级笔记(终极版)
不管是初入职场的小菜鸟还是有一些工作年限的老司机,系统设计问题对他们来说都是一大困扰。前者主要是在于面试;面试官来一个如何从零到一设计一个完整的系统?大多数人都会直接懵了,因为系统设计覆盖面广,而网上资料又不能面面俱到,单独背背文章肯定是不行的;后者主要在于晋升;想要从程序员进阶到架构师,系统设计是必须要踏入的一道坎,他对你的技术广度跟深度都会有一定程度的考察。
|
SQL 数据采集 数据可视化
用户数据分析与最佳实践以手游为例|青训营笔记
在企业竞争越来越激烈,获客成本越来越高的背景下,如何高效地优化产品和精细化投放运营是当前企业竞争的关键,而用户数据分析正是我们保持此竞争力的重要手段。
257 0
用户数据分析与最佳实践以手游为例|青训营笔记