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.
test/service/liuService.java

345 lines
10 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.itbaizhan.service;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.itbaizhan.dao.DB;
import com.itbaizhan.orm.Tcatelog;
import com.itbaizhan.orm.Tgoods;
import com.itbaizhan.orm.Torder;
import com.itbaizhan.orm.TorderItem;
import com.itbaizhan.orm.Txinyong;
/**
* 服务类liuService
*
* 该类提供了多个与商品、订单、用户等相关的业务逻辑功能。它包含了查询商品、保存订单、更新库存、处理用户登录等功能。
*/
public class liuService {
/**
* 获取菜品种类的列表,返回菜品类别的 ID 和名称
*
* @return 返回菜品种类的 List包含每个菜品的 ID 和名称
*/
public static List catelogList() {
List catelogList = new ArrayList(); // 初始化菜品种类列表
String sql = "select * from t_catelog where del='no'"; // 查询未被删除的菜品种类
Object[] params = {}; // 设置查询参数为空
DB mydb = new DB();
try {
mydb.doPstm(sql, params); // 执行 SQL 查询
ResultSet rs = mydb.getRs(); // 获取查询结果集
while (rs.next()) { // 遍历结果集
Tcatelog catelog = new Tcatelog(); // 创建 Tcatelog 对象
catelog.setId(rs.getString("id")); // 设置菜品类别 ID
catelog.setName(rs.getString("name")); // 设置菜品类别名称
catelogList.add(catelog); // 将菜品类别添加到列表
}
rs.close(); // 关闭结果集
} catch (Exception e) {
e.printStackTrace();
}
mydb.closed(); // 关闭数据库连接
return catelogList; // 返回菜品类别列表
}
/**
* 获取商品详细信息
*
* @param id 商品 ID
* @return 返回商品详细信息的 Tgoods 对象
*/
public static Tgoods getGoods(String id) {
Tgoods goods = new Tgoods(); // 初始化商品对象
String sql = "select * from t_goods where id=?"; // 查询指定商品的 SQL 语句
Object[] params = { id }; // 设置查询参数为商品 ID
DB mydb = new DB();
try {
mydb.doPstm(sql, params); // 执行查询
ResultSet rs = mydb.getRs(); // 获取查询结果集
rs.next(); // 移动到第一行(只查询一条记录)
// 设置商品属性
goods.setId(rs.getString("id"));
goods.setCatelog_id(rs.getString("catelog_id"));
goods.setBianhao(rs.getString("bianhao"));
goods.setMingcheng(rs.getString("mingcheng"));
goods.setJieshao(rs.getString("jieshao"));
goods.setFujian(rs.getString("fujian"));
goods.setShichangjia(rs.getInt("shichangjia"));
goods.setTejia(rs.getInt("tejia"));
goods.setDel(rs.getString("del"));
rs.close(); // 关闭结果集
} catch (Exception e) {
e.printStackTrace();
}
mydb.closed(); // 关闭数据库连接
return goods; // 返回商品对象
}
/**
* 获取最新商品的信息(按商品 ID 排序,最多返回前 8 个商品)
*
* @return 返回最新商品列表
*/
public static List goodsNew() {
List goodsList = new ArrayList(); // 初始化商品列表
String sql = "select * from t_goods where del='no' order by id desc"; // 查询未删除的商品,按 ID 降序排列
Object[] params = {}; // 设置查询参数为空
DB mydb = new DB();
try {
mydb.doPstm(sql, params); // 执行查询
ResultSet rs = mydb.getRs(); // 获取查询结果集
while (rs.next()) { // 遍历结果集
Tgoods goods = new Tgoods(); // 创建 Tgoods 对象
// 设置商品属性
goods.setId(rs.getString("id"));
goods.setCatelog_id(rs.getString("catelog_id"));
goods.setBianhao(rs.getString("bianhao"));
goods.setMingcheng(rs.getString("mingcheng"));
goods.setJieshao(rs.getString("jieshao"));
goods.setFujian(rs.getString("fujian"));
goods.setShichangjia(rs.getInt("shichangjia"));
goods.setTejia(rs.getInt("tejia"));
goods.setDel(rs.getString("del"));
goodsList.add(goods); // 将商品添加到列表
}
rs.close(); // 关闭结果集
} catch (Exception e) {
e.printStackTrace();
}
mydb.closed(); // 关闭数据库连接
// 限制返回最多 8 个商品
if (goodsList.size() > 8) {
goodsList = goodsList.subList(0, 8);
}
return goodsList; // 返回最新商品列表
}
/**
* 根据菜品类别 ID 获取该类别下的商品列表
*
* @param catelog_id 菜品类别 ID
* @return 返回该类别下的商品列表
*/
public static List goodsByCatelog(String catelog_id) {
List goodsList = new ArrayList(); // 初始化商品列表
String sql = "select * from t_goods where del='no' and catelog_id=? order by id desc"; // 根据类别 ID 查询商品
Object[] params = { catelog_id }; // 设置查询参数为菜品类别 ID
DB mydb = new DB();
try {
mydb.doPstm(sql, params); // 执行查询
ResultSet rs = mydb.getRs(); // 获取查询结果集
while (rs.next()) { // 遍历结果集
Tgoods goods = new Tgoods(); // 创建 Tgoods 对象
// 设置商品属性
goods.setId(rs.getString("id"));
goods.setCatelog_id(rs.getString("catelog_id"));
goods.setBianhao(rs.getString("bianhao"));
goods.setMingcheng(rs.getString("mingcheng"));
goods.setJieshao(rs.getString("jieshao"));
goods.setFujian(rs.getString("fujian"));
goods.setShichangjia(rs.getInt("shichangjia"));
goods.setTejia(rs.getInt("tejia"));
goods.setDel(rs.getString("del"));
goodsList.add(goods); // 将商品添加到列表
}
rs.close(); // 关闭结果集
} catch (Exception e) {
e.printStackTrace();
}
mydb.closed(); // 关闭数据库连接
return goodsList; // 返回商品列表
}
/**
* 保存订单信息
*
* @param order 订单对象,包含订单的各项信息
*/
public static void saveOrder(Torder order) {
String sql = "insert into t_order(id,bianhao,shijian,zhuangtai,huifu,songhuodizhi,fukuanfangshi,jine,user_id) values(?,?,?,?,?,?,?,?,?)";
Object[] params = { order.getId(), order.getBianhao(), order.getShijian(), order.getZhuangtai(),
order.getHuifu(), order.getSonghuodizhi(), order.getFukuanfangshi(), order.getJine(), order.getUser_id() };
DB mydb = new DB();
mydb.doPstm(sql, params); // 执行插入操作
mydb.closed(); // 关闭数据库连接
}
/**
* 保存订单商品明细
*
* @param id 订单明细 ID
* @param order_id 订单 ID
* @param goods_id 商品 ID
* @param goods_quantity 商品数量
*/
public static void saveOrderItem(String id, String order_id, String goods_id, int goods_quantity) {
String sql = "insert into t_orderitem(id,order_id,goods_id,goods_quantity) values(?,?,?,?)";
Object[] params = { id, order_id, goods_id, goods_quantity };
DB mydb = new DB();
mydb.doPstm(sql, params); // 执行插入操作
mydb.closed(); // 关闭数据库连接
}
/**
* 更新商品库存
*
* @param goods_id 商品 ID
* @param goods_quantity 商品数量
*/
public static void updateGoodsKucun(String goods_id, int goods_quantity) {
String sql = "update t_goods set kucun=kucun-? where id=?";
Object[] params = { goods_quantity, goods_id };
DB mydb = new DB();
mydb.doPstm(sql, params); // 执行更新操作
mydb.closed(); // 关闭数据库连接
}
/**
* 获取用户的订单列表
*
* @param user_id 用户 ID
* @return 返回该用户的订单列表
*/
public static List orderList(String user_id) {
List orderList = new ArrayList(); // 初始化订单列表
String sql = "select * from t_order where user_id=?"; // 查询该用户的所有订单
Object[] params = { user_id }; // 设置查询参数为用户 ID
DB mydb = new DB();
try {
mydb.doPstm(sql, params); // 执行查询
ResultSet rs = mydb.getRs(); // 获取查询结果集
while (rs.next()) { // 遍历结果集
Torder order = new Torder(); // 创建 Torder 对象
// 设置订单属性
order.setId(rs.getString("id"));
order.setBianhao(rs.getString("bianhao"));
order.setShijian(rs.getString("shijian"));
order.setZhuangtai(rs.getString("zhuangtai"));
order.setHuifu(rs.getString("huifu"));
order.setSonghuodizhi(rs.getString("songhuodizhi"));
order.setFukuanfangshi(rs.getString("fukuanfangshi"));
order.setJine(rs.getInt("jine"));
order.setUser_id(rs.getString("user_id"));
orderList.add(order); // 将订单添加到列表
}
rs.close(); // 关闭结果集
} catch (Exception e) {
e.printStackTrace();
}
mydb.closed(); // 关闭数据库连接
return orderList; // 返回订单列表
}
/**
* 获取订单商品的详细信息列表
*
* @param order_id 订单 ID
* @return 返回订单商品的列表,包含商品信息和数量
*/
public static List orderItemList(String order_id) {
List orderitemList = new ArrayList(); // 初始化订单商品列表
String sql = "select * from t_orderitem where order_id=?"; // 查询订单中包含的商品
Object[] params = { order_id }; // 设置查询参数为订单 ID
DB mydb = new DB();
try {
mydb.doPstm(sql, params); // 执行查询
ResultSet rs = mydb.getRs(); // 获取查询结果集
while (rs.next()) { // 遍历结果集
TorderItem orderItem = new TorderItem(); // 创建 TorderItem 对象
// 设置订单商品属性
orderItem.setId(rs.getString("id"));
orderItem.setGoods(getGoods(rs.getString("goods_id"))); // 获取商品信息
orderItem.setGoods_quantity(rs.getInt("goods_quantity")); // 设置商品数量
orderitemList.add(orderItem); // 将订单商品添加到列表
}
rs.close(); // 关闭结果集
} catch (Exception e) {
e.printStackTrace();
}
mydb.closed(); // 关闭数据库连接
return orderitemList; // 返回订单商品列表
}
/**
* 判断用户的账号是否存在
*
* @param loginname 用户登录账号
* @return 如果账号存在,返回 "yizhan",否则返回 "meizhan"
*/
public static String panduan_zhanghao(String loginname) {
String s = "meizhan"; // 默认返回“没占用”
String sql = "select * from t_user where del='no' and loginname=?"; // 查询账号是否存在
Object[] params = { loginname.trim() }; // 设置查询参数为账号
DB mydb = new DB();
try {
mydb.doPstm(sql, params); // 执行查询
ResultSet rs = mydb.getRs(); // 获取查询结果集
while (rs.next()) { // 如果查询到结果,表示账号已存在
s = "yizhan"; // 账号已占用
}
rs.close(); // 关闭结果集
} catch (Exception e) {
e.printStackTrace();
}
mydb.closed(); // 关闭数据库连接
return s; // 返回账号是否已占用
}
/**
* 获取用户的信用信息列表
*
* @param user_id 用户 ID
* @return 返回该用户的信用信息列表
*/
public static List getxinyongList(String user_id) {
List xinyongList = new ArrayList(); // 初始化信用信息列表
String sql = "select * from t_xinyong where user_id=?"; // 查询该用户的信用信息
Object[] params = { user_id }; // 设置查询参数为用户 ID
DB mydb = new DB();
try {
mydb.doPstm(sql, params); // 执行查询
ResultSet rs = mydb.getRs(); // 获取查询结果集
while (rs.next()) { // 遍历结果集
Txinyong xinyong = new Txinyong(); // 创建 Txinyong 对象
// 设置信用信息属性
xinyong.setId(rs.getString("id"));
xinyong.setShuxing(rs.getString("shuxing"));
xinyong.setNeirong(rs.getString("neirong"));
xinyong.setShijian(rs.getString("shijian"));
xinyong.setUser_id(rs.getString("user_id"));
xinyongList.add(xinyong); // 将信用信息添加到列表
}
rs.close(); // 关闭结果集
} catch (Exception e) {
e.printStackTrace();
}
mydb.closed(); // 关闭数据库连接
return xinyongList; // 返回信用信息列表
}
}