package com.project.demo.service.base;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.project.demo.constant.FindConfig;
import com.project.demo.dao.base.BaseMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.ParameterizedType;
import java.net.URLDecoder;
import java.security.MessageDigest;
import java.util.*;
/**
*/
@Slf4j
public class BaseService<E>{
@Autowired
private BaseMapper<E> baseMapper;
Class<E> eClass = (Class<E>)((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0];
private final String table = humpToLine(eClass.getSimpleName());
public List selectBaseList(String select) {
List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);
List<E> list = new ArrayList<>();
for (Map<String,Object> map:mapList) {
list.add(JSON.parseObject(JSON.toJSONString(map),eClass));
}
return list;
}
public int selectBaseCount(String sql) {
return baseMapper.selectBaseCount(sql);
}
public int deleteBaseSql(String sql) {
return baseMapper.deleteBaseSql(sql);
}
public int updateBaseSql(String sql) {
return baseMapper.updateBaseSql(sql);
}
public void insert(Map<String,Object> body){
E entity = JSON.parseObject(JSON.toJSONString(body),eClass);
baseMapper.insert(entity);
log.info("[{}] - 插入操作:{}",entity);
}
@Transactional
public void update(Map<String,String> query,Map<String,String> config,Map<String,Object> body){
QueryWrapper wrapper = new QueryWrapper<E>();
toWhereWrapper(query,"0".equals(config.get(FindConfig.LIKE)),wrapper);
E entity = JSON.parseObject(JSON.toJSONString(body),eClass);
baseMapper.update(entity,wrapper);
log.info("[{}] - 更新操作:{}",entity);
}
public Map<String,Object> selectToPage(Map<String,String> query,Map<String,String> config){
Map<String,Object> map = new HashMap<>();
List list = baseMapper.selectBaseList(select(query, config));
map.put("list",list);
map.put("count",baseMapper.selectBaseCount(count(query,config)));
return map;
}
public Map<String,Object> selectToList(Map<String,String> query,Map<String,String> config){
Map<String,Object> map = new HashMap<>();
List<Map<String,Object>> resultList = baseMapper.selectBaseList(selectGroupCount(query, config));
List list = new ArrayList();
for (Map<String,Object> resultMap:resultList) {
List subList = new ArrayList();
for(String key:resultMap.keySet()){//keySet获取map集合key的集合 然后在遍历key即可
subList.add(resultMap.get(key));
}
list.add(subList);
}
map.put("list",list);
return map;
}
public Integer selectSqlToInteger(String sql){
Integer value = baseMapper.selectBaseCount(sql);
return value;
}
public Map<String,Object> selectBarGroup(Map<String,String> query,Map<String,String> config){
Map<String,Object> map = new HashMap<>();
List<Map<String,Object>> resultList = baseMapper.selectBaseList(barGroup(query, config));
List list = new ArrayList();
for (Map<String,Object> resultMap:resultList) {
List subList = new ArrayList();
for(String key:resultMap.keySet()){//keySet获取map集合key的集合 然后在遍历key即可
subList.add(resultMap.get(key));
}
list.add(subList);
}
map.put("list",list);
return map;
}
// public void barGroup(Map<String,String> query,Map<String,String> config,QueryWrapper wrapper){
// if (config.get(FindConfig.GROUP_BY) != null && !"".equals(config.get(FindConfig.GROUP_BY))){
// wrapper.select(config.get(FindConfig.GROUP_BY));
// if (config.get(FindConfig.FIELD) != null && !"".equals(config.get(FindConfig.FIELD))){
// String[] fieldList = config.get(FindConfig.FIELD).split(",");
// for (int i=0;i<fieldList.length;i++)
// wrapper.select("SUM("+fieldList[i]+")");
// }
// toWhereSql(query, "0".equals(config.get(FindConfig.LIKE)),wrapper);
// wrapper.groupBy(config.get(FindConfig.GROUP_BY));
// }else {
// wrapper.select("SUM("+config.get(FindConfig.GROUP_BY)+")");
// toWhereSql(query, "0".equals(config.get(FindConfig.LIKE)),wrapper);
// }
// log.info("[{}] - 查询操作,sql: {}",wrapper.getSqlSelect());
// }
public String barGroup(Map<String,String> query,Map<String,String> config){
StringBuffer sql = new StringBuffer(" SELECT ");
if (config.get(FindConfig.GROUP_BY) != null && !"".equals(config.get(FindConfig.GROUP_BY))){
sql.append(config.get(FindConfig.GROUP_BY));
if (config.get(FindConfig.FIELD) != null && !"".equals(config.get(FindConfig.FIELD))){
String[] fieldList = config.get(FindConfig.FIELD).split(",");
for (int i=0;i<fieldList.length;i++)
sql.append(" ,SUM(").append(fieldList[i]).append(")");
}
sql.append(" FROM ").append("`").append(table).append("`");
sql.append(toWhereSql(query, "0".equals(config.get(FindConfig.LIKE))));
sql.append(" ").append("GROUP BY ").append(config.get(FindConfig.GROUP_BY));
}else {
sql.append(" SUM(").append(config.get(FindConfig.GROUP_BY)).append(") FROM ").append("`").append(table).append("`");
sql.append(toWhereSql(query, "0".equals(config.get(FindConfig.LIKE))));
}
log.info("[{}] - 查询操作,sql: {}",table,sql);
return sql.toString();
}
// public void selectGroupCount(Map<String,String> query,Map<String,String> config,QueryWrapper wrapper){
// wrapper.select("count(*) AS count_value",config.get(FindConfig.GROUP_BY));
// toWhereSql(query, "0".equals(config.get(FindConfig.LIKE)),wrapper);
// if (config.get(FindConfig.GROUP_BY) != null && !"".equals(config.get(FindConfig.GROUP_BY))){
// wrapper.groupBy(config.get(FindConfig.GROUP_BY));
// }
// log.info("[{}] - 查询操作,sql: {}",wrapper.getSqlSelect());
// }
public String selectGroupCount(Map<String,String> query,Map<String,String> config){
StringBuffer sql = new StringBuffer("select COUNT(*) AS count_value, ");
sql.append(config.get(FindConfig.GROUP_BY)).append(" ");
sql.append("from ").append("`").append(table).append("` ");
sql.append(toWhereSql(query, "0".equals(config.get(FindConfig.LIKE))));
if (config.get(FindConfig.GROUP_BY) != null && !"".equals(config.get(FindConfig.GROUP_BY))){
sql.append("group by ").append(config.get(FindConfig.GROUP_BY)).append(" ");
}
log.info("[{}] - 查询操作,sql: {}",table,sql);
return sql.toString();
}
// public void select(Map<String,String> query,Map<String,String> config,QueryWrapper wrapper){
// wr
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
功能需求: 汽车订票系统的功能主要分为前台用户根据自己的需求进行注册登录,浏览车次信息并对需要的车票进行预订操作。后台系统管理员因职责的不同,分为普通管理员和超级管理员,管理员主要对注册用户,车次数据,详细信息,车票订单进行处理。 1.1.1前台用户功能 前台用户可分为未注册用户需求和以注册用户需求。 未注册用户的功能如下: 注册账号:用户填写个人信息,并验证手机号码。 浏览热门路线推荐数据:用户可以浏览主页面的路线推荐数据来了解系统的最新热门路线。 浏览车次:用户可以根据车票类型浏览车次的信息,并选中某个车次查看详情,例如:班车、车型、价格、线路、出发时间、车票价格、姓名、联系电话、出行日期、预订人、是否支付等。 已注册用户的功能如下: 登录:根据账号密码进行登录操作。 维护个人信息:用户因个人信息的变更可以随时修改自己注册信息。 浏览评论信息:选中某车次可查看其用户的评论。 车票预订:用户根据自己的需求选中班次车票进行预订操作。 个人车票预订历史记录:用户可以查看自己以往预订数据。 ...........
资源详情
资源评论
资源推荐
收起资源包目录
SSM+汽车订票系统061801(附源码+数据库) (458个子文件)
设置镜像源.bat 62B
安裝sass.bat 16B
运行.bat 13B
安装.bat 12B
安装.bat 11B
运行.bat 11B
无源安装.bat 5B
.browserslistrc 33B
diy.css 91KB
base.css 89KB
base.css 88KB
diy.css 19KB
theme.css 14KB
theme.css 14KB
banner_1.gif 31KB
banner_2.gif 31KB
index.html 628B
index.html 628B
favicon.ico 4KB
favicon.ico 4KB
javax.persistence.jar 127KB
javax.servlet.jsp.jar 77KB
javax.ejb.jar 46KB
javax.resource.jar 43KB
javax.servlet.jsp.jstl.jar 27KB
javax.jms.jar 25KB
javax.transaction.jar 9KB
javax.annotation.jar 8KB
BaseService.java 28KB
UserController.java 11KB
BaseController.java 8KB
Sequence.java 7KB
LoginInterceptor.java 3KB
Auth.java 3KB
User.java 3KB
Forum.java 2KB
FillInTheOrder.java 2KB
ArticleTypeMapper.java 2KB
ForumTypeMapper.java 2KB
TicketChangeAndRefund.java 2KB
Article.java 2KB
ArticleType.java 2KB
Comment.java 2KB
UserMapper.java 2KB
UserGroupMapper.java 2KB
UserGroup.java 2KB
ForumType.java 2KB
ArticleMapper.java 2KB
BusTicket.java 2KB
Collect.java 2KB
IdWorker.java 2KB
Praise.java 2KB
Slides.java 1KB
Hits.java 1KB
UploadMapper.java 1KB
BusStation.java 1KB
Upload.java 1KB
HitsMapper.java 1KB
TicketChangeAndRefundController.java 1KB
AccessTokenMapper.java 1KB
UserRegistrationController.java 1KB
FillInTheOrderController.java 1KB
CommonProblemController.java 1KB
PopularRouteController.java 1KB
HelpCenterController.java 1KB
BusStationController.java 1KB
AccessToken.java 1KB
BusTicketController.java 1KB
SlidesMapper.java 1KB
CollectMapper.java 1KB
CommentMapper.java 1KB
PraiseMapper.java 1KB
NoticeMapper.java 1KB
Notice.java 1KB
AuthMapper.java 1KB
PopularRoute.java 1KB
ForumMapper.java 1KB
HelpCenter.java 1KB
CommonProblem.java 1KB
UserRegistration.java 1KB
ArticleTypeController.java 823B
ForumTypeController.java 805B
UserGroupController.java 769B
AccessTokenController.java 757B
ArticleController.java 747B
CommentController.java 714B
CollectController.java 714B
SlidesController.java 708B
NoticeController.java 705B
PraiseController.java 705B
ForumController.java 696B
UploadController.java 696B
AuthController.java 690B
HitsController.java 687B
UserService.java 635B
FindConfig.java 424B
BaseMapper.java 414B
ArticleTypeService.java 398B
ForumTypeService.java 390B
TicketChangeAndRefundService.java 368B
共 458 条
- 1
- 2
- 3
- 4
- 5
yuyuxun1
- 粉丝: 5723
- 资源: 103
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0