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 用户预约:用户列表 1.2疫苗查看:预约疫苗列表. 1.3接种计划管理:成员预计接种时间列表 1.4接种记录管理:接种记录列表 2.管理员登录. 2.1人员管理:用户列表管理包括用户和儿童列表 管理员可增加删除修改查询用户信息,更新疫 苗信息 2.2疫苗管理:更新疫苗列表:编号类型名称 简介适用年龄副作用产地 查询疫苗类型 2.3疫苗出入库管理:出入库列表 2.4接种计划管理:接种计划列表 2.5接种记录管理:用户接种记录列表 2.6疫苗使用情况统计:按天来统计疫苗出入库情况
资源详情
资源评论
资源推荐
收起资源包目录
ssm疫苗管理系统141004(附源码+数据库) (920个子文件)
preview.bat 579B
deploy.bat 452B
deploy.bat 452B
preview.bat 209B
preview.bat 209B
设置镜像源.bat 62B
安裝sass.bat 16B
运行.bat 13B
安装.bat 12B
安装.bat 11B
运行.bat 11B
无源安装.bat 5B
.browserslistrc 33B
BaseService.class 21KB
BaseService.class 21KB
Auth.class 11KB
Auth.class 11KB
UserController.class 10KB
UserController.class 10KB
Forum.class 9KB
Forum.class 9KB
BaseController.class 9KB
BaseController.class 9KB
VaccineInformation.class 8KB
VaccineInformation.class 8KB
User.class 8KB
User.class 8KB
VaccinationRecordManagement.class 7KB
VaccinationRecordManagement.class 7KB
Article.class 7KB
Article.class 7KB
VaccinationPlanManagement.class 7KB
VaccinationPlanManagement.class 7KB
Comment.class 7KB
Comment.class 7KB
UserGroup.class 6KB
UserGroup.class 6KB
ChildInformation.class 6KB
ChildInformation.class 6KB
ArticleType.class 6KB
ArticleType.class 6KB
AppointmentVaccine.class 5KB
AppointmentVaccine.class 5KB
VaccineWarehousing.class 5KB
VaccineWarehousing.class 5KB
VaccineDelivery.class 5KB
VaccineDelivery.class 5KB
Praise.class 5KB
Praise.class 5KB
ForumType.class 5KB
ForumType.class 5KB
Slides.class 5KB
Slides.class 5KB
Upload.class 5KB
Upload.class 5KB
AccessToken.class 4KB
AccessToken.class 4KB
UserRegistration.class 4KB
UserRegistration.class 4KB
Notice.class 4KB
Notice.class 4KB
LoginInterceptor.class 4KB
LoginInterceptor.class 4KB
VaccineWarehousingController.class 3KB
VaccineWarehousingController.class 3KB
VaccineDeliveryController.class 3KB
VaccineDeliveryController.class 3KB
Sequence.class 3KB
Sequence.class 3KB
VaccinationRecordManagementController.class 2KB
VaccinationRecordManagementController.class 2KB
VaccinationPlanManagementController.class 2KB
VaccinationPlanManagementController.class 2KB
VaccineInformationController.class 2KB
AppointmentVaccineController.class 2KB
VaccineInformationController.class 2KB
AppointmentVaccineController.class 2KB
ChildInformationController.class 2KB
UserRegistrationController.class 2KB
ChildInformationController.class 2KB
UserRegistrationController.class 2KB
BaseEntity.class 2KB
BaseEntity.class 2KB
BaseController$1.class 1KB
BaseController$1.class 1KB
AccessTokenController.class 999B
ArticleTypeController.class 999B
AccessTokenController.class 999B
ArticleTypeController.class 999B
ForumTypeController.class 983B
UserGroupController.class 983B
UserGroupController.class 983B
ForumTypeController.class 983B
IdWorker.class 970B
IdWorker.class 970B
CommentController.class 966B
ArticleController.class 966B
ArticleController.class 966B
CommentController.class 966B
UploadController.class 958B
共 920 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10
专业程序开发源
- 粉丝: 3191
- 资源: 386
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0