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.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import java.io.BufferedReader;
import java.io.IOException;
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 List<Map<String,Object>> selectMapBaseList(String select) {
return baseMapper.selectBaseList(select);
}
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));
for (Map<String,Object> sub:resultList) {
sub.put("0",sub.get("count"));
sub.put("1",sub.get(config.get(FindConfig.GROUP_BY)));
}
map.put("list",resultList);
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)),config.get(FindConfig.SQLHWERE)));
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)),config.get(FindConfig.SQLHWERE)));
}
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, ");
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)),config.get(FindConfig.SQLHWERE)));
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){
// wrapper.select(config.get(FindConfig.FIELD) == null || "".equals(config.get(FindConfig.FIELD)) ? "*" : config.get(FindConfig.FIELD));
// toWhereSql(query, "0".equals(c
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
springboot 高校图书馆座位预约管理系统springboot 高校图书馆座位预约管理系统springboot 高校图书馆座位预约管理系统springboot 高校图书馆座位预约管理系统springboot 高校图书馆座位预约管理系统springboot 高校图书馆座位预约管理系统springboot 高校图书馆座位预约管理系统springboot 高校图书馆座位预约管理系统springboot 高校图书馆座位预约管理系统springboot 高校图书馆座位预约管理系统springboot 高校图书馆座位预约管理系统springboot 高校图书馆座位预约管理系统springboot 高校图书馆座位预约管理系统springboot 高校图书馆座位预约管理系统springboot 高校图书馆座位预约管理系统springboot 高校图书馆座位预约管理系统springboot 高校图书馆座位预约管理系统springboot 高校图书馆座位预约管理系统springboot 高校图书馆座位预约管理系统springboot 高校图书馆座位预约管理系统springboot 高校图书馆座位预约
资源推荐
资源详情
资源评论
收起资源包目录
springboot 高校图书馆座位预约管理系统 (997个子文件)
运行.bat 31B
运行.bat 13B
运行.bat 11B
.browserslistrc 33B
mvn.cmd 6KB
mvnDebug.cmd 2KB
m2.conf 228B
chunk-vendors.dcac64ba.css 401KB
chunk-vendors.a1e5b6ee.css 241KB
diy.css 162KB
diy.css 162KB
app.975dc300.css 128KB
base.css 89KB
base.css 89KB
app.35a9ede1.css 87KB
theme.css 14KB
theme.css 14KB
diy.css 10KB
diy.css 10KB
chunk-50b952c7.f02e05e0.css 6KB
chunk-f375e1a6.64037fd5.css 6KB
chunk-3f5e7e71.e1d42795.css 5KB
chunk-38843300.b4844e00.css 3KB
jigsaw.css 2KB
jigsaw.css 2KB
chunk-38e4d61c.fe1a606c.css 2KB
chunk-eca344f8.2240c869.css 2KB
chunk-980dca9a.a4b7b6e9.css 2KB
chunk-69662fbc.4d6716f5.css 2KB
chunk-628b06be.732c64e8.css 2KB
chunk-05b5e17d.9d3ac54f.css 2KB
chunk-5b708c52.2fb168a9.css 2KB
chunk-60a65aa2.832f04b6.css 2KB
chunk-dfa97336.8fa89557.css 2KB
chunk-890315a8.edd1fbb5.css 2KB
chunk-4dbccf58.8b9f5b16.css 1KB
chunk-63bd7dc0.3d8ddc92.css 1KB
chunk-15c2aabc.3d8ddc92.css 1KB
chunk-76bda8e8.3d8ddc92.css 1KB
chunk-70d09266.3d8ddc92.css 1KB
chunk-0e651fc0.3d8ddc92.css 1KB
chunk-93b2e0e4.3d8ddc92.css 1KB
chunk-853b424a.3d8ddc92.css 1KB
chunk-13f58f14.3d8ddc92.css 1KB
chunk-46d33a07.802b2f03.css 990B
chunk-21f1ef34.5604e0bc.css 790B
chunk-2a7278c0.932bffb8.css 782B
chunk-52f0bcc6.bf619077.css 753B
chunk-00882464.d2dbc0f5.css 753B
chunk-1fe0c1e5.6f8c96db.css 753B
chunk-fd56c062.2d6c05c6.css 753B
chunk-1d197bf2.2a836599.css 753B
chunk-5269527c.788ee987.css 753B
chunk-817e9afa.b16f5b07.css 753B
chunk-6b435b26.f34e34b4.css 753B
chunk-06e381bd.65ac6bee.css 690B
chunk-b1a084de.4eb70801.css 597B
chunk-52ac726d.a3f206fd.css 594B
chunk-321f74d2.aef216e5.css 593B
chunk-1bfb9c6a.271daa6e.css 473B
chunk-4cc8da99.02e0bea0.css 456B
chunk-ec171288.f0622aa6.css 418B
chunk-d689df6a.bbb95422.css 418B
chunk-2376082f.bd1bedbb.css 372B
chunk-a5ac736a.aa114649.css 361B
chunk-1528fca7.e5656f78.css 355B
chunk-b003d128.e1f3e82f.css 335B
chunk-0e20c5e4.e1f3e82f.css 335B
chunk-53b718ad.e1f3e82f.css 335B
chunk-ebf0b434.62aeb62e.css 335B
chunk-5c32cd23.62aeb62e.css 335B
chunk-63029be2.62aeb62e.css 335B
chunk-de572f60.e1f3e82f.css 335B
chunk-d4fb39aa.62aeb62e.css 335B
chunk-6207097e.62aeb62e.css 335B
chunk-a0c345ae.62aeb62e.css 335B
chunk-2170787a.62aeb62e.css 335B
chunk-23193825.b9719a54.css 263B
chunk-49e2afaa.1ae76676.css 242B
chunk-17a37762.7a849b1c.css 224B
chunk-3ae6bf22.5ee3c0b1.css 134B
chunk-b339cbb0.988a3e00.css 121B
chunk-2554c2cc.ee88beea.css 119B
base.css 3B
base.css 3B
theme.css 0B
theme.css 0B
jansi.dll 26KB
jansi.dll 21KB
.gitignore 254B
.gitignore 254B
.gitignore 176B
.gitignore 176B
index.html 6KB
index.html 6KB
index.html 628B
index.html 628B
favicon.ico 4KB
favicon.ico 4KB
favicon.ico 4KB
共 997 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10
资源评论
青铜状态
- 粉丝: 2
- 资源: 57
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功