基于JSP的JSP+MYSQL在线拍卖管理系统买家卖家

包含源程序,数据库脚本。代码和数据库脚本都有详细注释。课题设计仅供参考学习使用,可以在此基础上进行扩展完善
代码已经上传github,下载地址 https://github.com/21503882/auction
开发环境:
Eclipse ,MYSQL,JDK1.8,Tomcat 7
涉及技术点:
MVC模式、SpringMvc、Mybatis、Spring、bootstrap、HTML、JavaScript、CSS、JQUERY、log4j、Ajax、maven等
系统采用Mybatis框架实现ORM对象关系映射,前台JSP实现,后台springMvc映射,使用Spring框架进行整合。适合学习J2EE的一段时间的熟手,代码思路清晰,注解详细,数据库用的是mysql5.1,服务器用的tomcat7,JDK版本1.8. 编程软件Eclispe J2EE版本。是典型MVC架构,并且前后台分离
主要功能:

卖家中心

package com.beifeng.common;

/**
 * 定义日志收集客户端收集得到的用户数据参数的name名称<br/>
 * 以及event_logs这张hbase表的结构信息<br/>
 * 用户数据参数的name名称就是event_logs的列名
 * 
 * @author gerry
 *
 */
public class EventLogConstants {
    /**
     * 事件枚举类。指定事件的名称
     * 
     * @author gerry
     *
     */
    public static enum EventEnum {
        LAUNCH(1, "launch event", "e_l"), // launch事件,表示第一次访问
        PAGEVIEW(2, "page view event", "e_pv"), // 页面浏览事件
        CHARGEREQUEST(3, "charge request event", "e_crt"), // 订单生产事件
        CHARGESUCCESS(4, "charge success event", "e_cs"), // 订单成功支付事件
        CHARGEREFUND(5, "charge refund event", "e_cr"), // 订单退款事件
        EVENT(6, "event duration event", "e_e") // 事件
        ;

        public final int id; // id 唯一标识
        public final String name; // 名称
        public final String alias; // 别名,用于数据收集的简写

        private EventEnum(int id, String name, String alias) {
            this.id = id;
            this.name = name;
            this.alias = alias;
        }

        /**
         * 获取匹配别名的event枚举对象,如果最终还是没有匹配的值,那么直接返回null。
         * 
         * @param alias
         * @return
         */
        public static EventEnum valueOfAlias(String alias) {
            for (EventEnum event : values()) {
                if (event.alias.equals(alias)) {
                    return event;
                }
            }
            return null;
        }
    }

    /**
     * 表名称
     */
    public static final String HBASE_NAME_EVENT_LOGS = "event_logs";

    /**
     * event_logs表的列簇名称
     */
    public static final String EVENT_LOGS_FAMILY_NAME = "info";

    /**
     * 日志分隔符
     */
    public static final String LOG_SEPARTIOR = "\\^A";

    /**
     * 用户ip地址
     */
    public static final String LOG_COLUMN_NAME_IP = "ip";

    /**
     * 服务器时间
     */
    public static final String LOG_COLUMN_NAME_SERVER_TIME = "s_time";

    /**
     * 事件名称
     */
    public static final String LOG_COLUMN_NAME_EVENT_NAME = "en";

    /**
     * 数据收集端的版本信息
     */
    public static final String LOG_COLUMN_NAME_VERSION = "ver";

    /**
     * 用户唯一标识符
     */
    public static final String LOG_COLUMN_NAME_UUID = "u_ud";

    /**
     * 会员唯一标识符
     */
    public static final String LOG_COLUMN_NAME_MEMBER_ID = "u_mid";

    /**
     * 会话id
     */
    public static final String LOG_COLUMN_NAME_SESSION_ID = "u_sd";
    /**
     * 客户端时间
     */
    public static final String LOG_COLUMN_NAME_CLIENT_TIME = "c_time";
    /**
     * 语言
     */
    public static final String LOG_COLUMN_NAME_LANGUAGE = "l";
    /**
     * 浏览器user agent参数
     */
    public static final String LOG_COLUMN_NAME_USER_AGENT = "b_iev";
    /**
     * 浏览器分辨率大小
     */
    public static final String LOG_COLUMN_NAME_RESOLUTION = "b_rst";

    /**
     * 定义platform
     */
    public static final String LOG_COLUMN_NAME_PLATFORM = "pl";
    /**
     * 当前url
     */
    public static final String LOG_COLUMN_NAME_CURRENT_URL = "p_url";
    /**
     * 前一个页面的url
     */
    public static final String LOG_COLUMN_NAME_REFERRER_URL = "p_ref";
    /**
     * 当前页面的title
     */
    public static final String LOG_COLUMN_NAME_TITLE = "tt";
    /**
     * 订单id
     */
    public static final String LOG_COLUMN_NAME_ORDER_ID = "oid";
    /**
     * 订单名称
     */
    public static final String LOG_COLUMN_NAME_ORDER_NAME = "on";
    /**
     * 订单金额
     */
    public static final String LOG_COLUMN_NAME_ORDER_CURRENCY_AMOUNT = "cua";
    /**
     * 订单货币类型
     */
    public static final String LOG_COLUMN_NAME_ORDER_CURRENCY_TYPE = "cut";
    /**
     * 订单支付金额
     */
    public static final String LOG_COLUMN_NAME_ORDER_PAYMENT_TYPE = "pt";
    /**
     * category名称
     */
    public static final String LOG_COLUMN_NAME_EVENT_CATEGORY = "ca";
    /**
     * action名称
     */
    public static final String LOG_COLUMN_NAME_EVENT_ACTION = "ac";
    /**
     * kv前缀
     */
    public static final String LOG_COLUMN_NAME_EVENT_KV_START = "kv_";
    /**
     * duration持续时间
     */
    public static final String LOG_COLUMN_NAME_EVENT_DURATION = "du";
    /**
     * 操作系统名称
     */
    public static final String LOG_COLUMN_NAME_OS_NAME = "os";
    /**
     * 操作系统版本
     */
    public static final String LOG_COLUMN_NAME_OS_VERSION = "os_v";
    /**
     * 浏览器名称
     */
    public static final String LOG_COLUMN_NAME_BROWSER_NAME = "browser";
    /**
     * 浏览器版本
     */
    public static final String LOG_COLUMN_NAME_BROWSER_VERSION = "browser_v";
    /**
     * ip地址解析的所属国家
     */
    public static final String LOG_COLUMN_NAME_COUNTRY = "country";
    /**
     * ip地址解析的所属省份
     */
    public static final String LOG_COLUMN_NAME_PROVINCE = "province";
    /**
     * ip地址解析的所属城市
     */
    public static final String LOG_COLUMN_NAME_CITY = "city";
}
 

 

package com.controller;
 
import com.alibaba.fastjson.JSON;
import com.model.*;
import com.service.*;
import com.system.utils.MD5Util;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.support.SessionStatus;
 
import javax.annotation.Resource;
import javax.servlet.http.HttpSession;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
 
@Controller
@RequestMapping({"/user", "/site"})
@SessionAttributes(names = {"user"})
public class UserController extends BaseController{
 
    @Resource(name = "userService")
    private UserService userService;
    @Resource(name = "hotelOrderService")
    private HotelOrderService hotelOrderService;
    @Resource(name = "scenicOrderService")
    private ScenicOrderService scenicOrderService;
    @Resource(name = "userMsgService")
    private UserMsgService userMsgService;
 
    @GetMapping("/index.action")
    public String index(){
        return "/site_index";
    }
 
    @GetMapping("/register.action")
    public String register() {
        return "/user_register";
    }
 
    @PostMapping(value = "/doRegister.action", produces = "text/json;charset=UTF-8")
    @ResponseBody
    public String doRegister(User user, ModelMap modelMap) {
 
        User dbUser = userService.getUserByName(user);
        if (dbUser != null) {
            response.setType("error");
            response.setMessage("用户名已经被占用");
            return JSON.toJSONString(response);
        }
 
        user.setPassword(MD5Util.generateMD5(user.getPassword()));
        user.setCreateTime(new Timestamp(System.currentTimeMillis()));
        user.setBalance(0);
        userService.save(user);
        response.setType("success");
        response.setMessage("注册成功");
        modelMap.addAttribute("user", user);
        return JSON.toJSONString(response);
    }
 
    @PostMapping(value = "/doLogin.action", produces = "text/json;charset=UTF-8")
    @ResponseBody
    public String doLogin(User user, ModelMap modelMap) {
        User dbUser = userService.getUserByName(user);
        if (dbUser == null) {
            response.setType("error");
            response.setMessage("用户不存在");
            return JSON.toJSONString(response);
        }
        if (!dbUser.getPassword().equals(MD5Util.generateMD5(user.getPassword()))) {
            response.setType("error");
            response.setMessage("密码不正确");
            return JSON.toJSONString(response);
        }
        modelMap.addAttribute("user", dbUser);
        response.setType("success");
        return JSON.toJSONString(response);
    }
 
    @GetMapping(value = "/doLogout.action")
    public String doLogout(SessionStatus sessionStatus, HttpSession httpSession) {
        sessionStatus.setComplete();
        httpSession.invalidate();
        return "redirect:/user/index.action";
    }
 
    @PostMapping(value = "/cashShoppingCart.action", produces = "text/json;charset=UTF-8")
    @ResponseBody
    public String cashShoppingCart(Integer totalPrice, ModelMap modelMap) {
        User user = (User) modelMap.get("user");
        try {
            List<Object> carts = (List<Object>) modelMap.get("carts");
            List<Scenic> scenics = new ArrayList<>();
            List<Hotel> hotels = new ArrayList<>();
            if (carts != null) {
                for (Object item : carts) {
                    if (item instanceof Hotel) {
                        hotels.add((Hotel) item);
                    } else if (item instanceof Scenic) {
                        scenics.add((Scenic) item);
                    }
                }
            }
            hotelOrderService.generateHotelOrders(hotels, user);
            scenicOrderService.generateScenicOrders(scenics, user);
            userService.cash(totalPrice, user);
            response.setMessage("购买成功");
        } catch (Exception e) {
            response.setMessage(e.getMessage());
        }
        return JSON.toJSONString(response);
    }
 
    @GetMapping(value = "/userBack.action")
    public String userBack(ModelMap modelMap) {
        User user = (User) modelMap.get("user");
        List<HotelOrder> hotelOrders = hotelOrderService.listUserOrders(user);
        List<ScenicOrder> scenicOrders = scenicOrderService.listUserOrders(user);
        List<UserMsg> userMsgs = userMsgService.listUserMsg(user);
        modelMap.addAttribute("user", user);
        modelMap.addAttribute("hotelOrders", hotelOrders);
        modelMap.addAttribute("scenicOrders", scenicOrders);
        modelMap.addAttribute("useMsgs", userMsgs);
        return "/user_back";
    }
 
    @PostMapping(value = "/recharge.action", produces = "text/json;charset=UTF-8")
    @ResponseBody
    public String recharge(Integer money, ModelMap modelMap) {
        User user = (User) modelMap.get("user");
        User dbUser = userService.get(user.getId());
        dbUser.setBalance(dbUser.getBalance() + money);
        userService.update(dbUser);
        modelMap.addAttribute("user", dbUser);
        response.setMessage("充值成功");
        return JSON.toJSONString(response);
    }
 
    @PostMapping(value = "/deleteScenicOrder.action", produces = "text/json;charset=UTF-8")
    @ResponseBody
    public String deleteScenicOrder(ScenicOrder scenicOrder) {
        scenicOrderService.delete(scenicOrder);
        response.setMessage("删除成功");
        return JSON.toJSONString(response);
    }
 
    @PostMapping(value = "/deleteHotelOrder.action", produces = "text/json;charset=UTF-8")
    @ResponseBody
    public String deleteHotelOrder(HotelOrder hotelOrder) {
        hotelOrderService.delete(hotelOrder);
        response.setMessage("删除成功");
        return JSON.toJSONString(response);
    }
 
    @PostMapping(value = "/deleteUserMsg.action", produces = "text/json;charset=UTF-8")
    @ResponseBody
    public String deleteUserMsg(UserMsg userMsg) {
        userMsgService.delete(userMsg);
        response.setMessage("删除成功");
        return JSON.toJSONString(response);
    }
 
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
第一章 绪论 1 1.1 系统应用背景与功能 1 1.2 系统预览 2 1.3 系统特点 2 第二章 系统要解决的技术问题 4 2.1 连接SQL Server 2000 4 2.2 安装jspSmartUpload文件上传组件 4 2.3 JSP中文乱码问题的处理 5 2.4 页面无刷新地提交数据 6 第三章 系统设计 8 3.1 系统设计思想 8 3.1.1 功能的独立化、模块化。 8 3.1.2 三层架构设计思想 8 3.1.3 系统实现功能 9 3.2 系统层次概框图 10 3.3 系统模块详细介绍 11 3.3.1 前台模块 11 3.3.2 后台模块 12 第四章 数据库设计 13 4.1 数据库需求分析 13 4.2 数据库逻辑设计 13 第五章 详细设计 19 5.1 系统JavaBean的实现 19 5.1.1 用户出价、商品、短信Bean的功能分析 20 5.1.2 数据库连接类的功能分析 20 5.1.3 管理员登录类的功能分析 20 5.1.4 商品搜索类的功能分析 21 5.1.5 用户登录类的功能分析 21 5.1.6 操作商品类的功能分析 22 5.1.7 操作用户类的功能分析 24 5.1.8 操作短信息类的功能分析 25 5.1.9 操作出价信息类的功能分析 26 5.2 用户界面实现 27 5.2.1 系统首页设计 27 5.2.2 用户登录模块设计 27 5.2.3 用户注册模块设计 28 5.2.4 商品发布模块设计 30 5.3 后台管理界面实现 30 5.3.1 后台登录模块设计 31 5.3.2 系统配置模块设计 31 第六章 系统的运行演示效果 33 6.1 系统前台演示效果 33 6.1.1 搜索商品的运行效果 33 6.1.2 用户注册页面运行效果 33 6.1.3 发布商品页面运行效果 33 6.1.4 浏览商品页面运行效果 35 6.1.5 出价页面运行效果 35 6.2 系统后台演示效果 35 6.1.1 后台用户登录运行效果 35 6.1.2 管理用户运行效果 36 6.1.3 管理商品运行效果 36 6.1.4 管理短信息运行效果 37 第七章 结论 38 参考文献 39 致谢 40
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值