package com.controller;
import java.io.File;
import java.math.BigDecimal;
import java.net.URL;
import java.text.SimpleDateFormat;
import com.alibaba.fastjson.JSONObject;
import java.util.*;
import org.springframework.beans.BeanUtils;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.context.ContextLoader;
import javax.servlet.ServletContext;
import com.service.TokenService;
import com.utils.*;
import java.lang.reflect.InvocationTargetException;
import com.service.DictionaryService;
import org.apache.commons.lang3.StringUtils;
import com.annotation.IgnoreAuth;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.entity.*;
import com.entity.view.*;
import com.service.*;
import com.utils.PageUtils;
import com.utils.R;
import com.alibaba.fastjson.*;
/**
* 用户
* 后端接口
* @author
* @email
*/
@RestController
@Controller
@RequestMapping("/yonghu")
public class YonghuController {
private static final Logger logger = LoggerFactory.getLogger(YonghuController.class);
@Autowired
private YonghuService yonghuService;
@Autowired
private TokenService tokenService;
@Autowired
private DictionaryService dictionaryService;
//级联表service
@Autowired
private YuangongService yuangongService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
String role = String.valueOf(request.getSession().getAttribute("role"));
if(false)
return R.error(511,"永不会进入");
else if("用户".equals(role))
params.put("yonghuId",request.getSession().getAttribute("userId"));
else if("员工".equals(role))
params.put("yuangongId",request.getSession().getAttribute("userId"));
if(params.get("orderBy")==null || params.get("orderBy")==""){
params.put("orderBy","id");
}
PageUtils page = yonghuService.queryPage(params);
//字典表数据转换
List<YonghuView> list =(List<YonghuView>)page.getList();
for(YonghuView c:list){
//修改对应字典表字段
dictionaryService.dictionaryConvert(c, request);
}
return R.ok().put("data", page);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id, HttpServletRequest request){
logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
YonghuEntity yonghu = yonghuService.selectById(id);
if(yonghu !=null){
//entity转view
YonghuView view = new YonghuView();
BeanUtils.copyProperties( yonghu , view );//把实体数据重构到view中
//修改对应字典表字段
dictionaryService.dictionaryConvert(view, request);
return R.ok().put("data", view);
}else {
return R.error(511,"查不到数据");
}
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
logger.debug("save方法:,,Controller:{},,yonghu:{}",this.getClass().getName(),yonghu.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
if(false)
return R.error(511,"永远不会进入");
Wrapper<YonghuEntity> queryWrapper = new EntityWrapper<YonghuEntity>()
.eq("username", yonghu.getUsername())
.or()
.eq("yonghu_phone", yonghu.getYonghuPhone())
.or()
.eq("yonghu_id_number", yonghu.getYonghuIdNumber())
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
YonghuEntity yonghuEntity = yonghuService.selectOne(queryWrapper);
if(yonghuEntity==null){
yonghu.setCreateTime(new Date());
yonghu.setPassword("123456");
yonghu.setYonghuSumJifen(0.0);
yonghu.setHuiyuandengjiTypes(1);
yonghuService.insert(yonghu);
return R.ok();
}else {
return R.error(511,"账户或者用户手机号或者用户身份证号已经被使用");
}
}
/**
* 后端修改
*/
@RequestMapping("/update")
public R update(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
logger.debug("update方法:,,Controller:{},,yonghu:{}",this.getClass().getName(),yonghu.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
// if(false)
// return R.error(511,"永远不会进入");
//根据字段查询是否有相同数据
Wrapper<YonghuEntity> queryWrapper = new EntityWrapper<YonghuEntity>()
.notIn("id",yonghu.getId())
.andNew()
.eq("username", yonghu.getUsername())
.or()
.eq("yonghu_phone", yonghu.getYonghuPhone())
.or()
.eq("yonghu_id_number", yonghu.getYonghuIdNumber())
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
YonghuEntity yonghuEntity = yonghuService.selectOne(queryWrapper);
if("".equals(yonghu.getYonghuPhoto()) || "null".equals(yonghu.getYonghuPhoto())){
yonghu.setYonghuPhoto(null);
}
if(yonghuEntity==null){
yonghuService.updateById(yonghu);//根据id更新
return R.ok();
}else {
return R.error(511,"账户或者用户手机号或者用户身份证号已经被使用");
}
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Integer[] ids){
logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());
yonghuService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 批量上传
*/
@RequestMapping("/batchInsert")
public R save( String fileName, HttpServletRequest request){
logger.debug("batchInsert方法:,,Controller:{},,fileName:{}",this.getClass().getName(),fileName);
Integer yonghuId = Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId")));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
List<YonghuEntity> yonghuList = new ArrayList<>();//上传的东西
Map<String, List<String>> seachFields= new HashMap<>();//要查询的字段
Date date = new Date();
int lastIndexOf = fileName.lastIndexOf(".");
if(lastIndexOf == -1){
return R.error(511,"该文件没有后缀");
}else{
String suffix = fileName.substring(lastIndexOf);
if(!".xls".equals(suffix)){
return R.error(511,"只支持后缀为xls的excel文件");
}else{
URL resource = this.getClass().getClassLoader().getResource("static/upload/" + fileName);//获取文件路径
File file = new File(resource.getFile());
if(!file.exists()){
return R.error(511,"找不到上传文件,请联系管理员");
}else{
List<List<String>> dataList = PoiUtil.poiImport(file
没有合适的资源?快使用搜索试试~ 我知道了~
基于springboot的餐饮管理系统
共917个文件
svg:161个
java:125个
vue:36个
需积分: 5 1 下载量 52 浏览量
2024-05-08
21:51:54
上传
评论
收藏 32.51MB RAR 举报
温馨提示
开发语言:Java JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.6/5.7(或8.0) 数据库工具:Navicat 开发软件:idea 依赖管理包:Maven 代码+数据库保证完整可用,可提供远程调试并指导运行服务(额外付费)~ 如果对系统的中的某些部分感到不合适可提供修改服务,比如题目、界面、功能等等... 声明: 1.项目已经调试过,完美运行 2.需要远程帮忙部署项目,需要额外付费 3.本项目有演示视频,如果需要观看,请联系我 4.调试过程中可帮忙安装IDEA,eclipse,MySQL,JDK,Tomcat等软件 重点: 需要其他Java源码联系我,更多源码任你选,你想要的源码我都有! https://img-blog.csdnimg.cn/direct/e73dc0ac8d27434b86d886db5a438c71.jpeg
资源推荐
资源详情
资源评论
收起资源包目录
基于springboot的餐饮管理系统 (917个子文件)
009f7383b9e77a51dd265e015903109499d61e 602B
02435262f358b7bd7f240b8085d7ffbfebf26b 586B
02be578e6eb71e2494eb76549ffd23c3ba92a7 280B
02e64ba16d33dfd30782ba8ce05e8cc25eb2d1 863B
0331cf0d0d07b8e4f69ea8e09e8b5ee62b8497 308B
033da3bd5533db10e41a07b40e998197c09724 782KB
03c8ccc8a2041af3152e18e9fc0ed1a65efa5a 332B
0416179b55a16e468a4eb84bc2fabfee7290c8 400B
05a5b9da6146bb610e34930265c1b12106ecd8 343B
05d257bfc79faf837f8f275abee21de6f6dbbf 1KB
061d8af955f0f5e6662807d4e3214916fc5ee7 453B
063119e2a59e6b990e66934e24084f53eeed54 483B
0634e122a6f531c1cd628ff2f7ffbbc390a787 266B
0748c7065514324648e0ce6ad3d9c6172a6365 5KB
075a46e5a584705d995e517a26f4c864cd2bf0 275B
07e97527b22739ccf73242487d62f814c65bfd 1KB
083e9ba9d5b3f1a439e34be5262b406b3b84b2 108B
085064ad9e55ead65dadfa852d4fb1826e4977 1KB
088cbc753ae6f87d9819bcd777ef11f253e902 738B
089ede707b39ec43174d2cabf904e3b3222cf4 318B
0a1635be0466d4dc72a345655fb9de233ed912 9KB
0a4519f3a119b79bbee552f31bb04d71d94b50 456B
0a8d8024702a1964a4c3e43ac352b0defa3dd5 180B
0b1cedd4fe286135c32de6cc2f52b131420410 419B
0b36dced9b357ff5e972bf980ac46377e7d82d 1KB
0b3f8629d9a648b6c10cf0def057cd1e456336 416B
0c0e0a9da3c8645bb34318fb31fd6b69c4f012 348B
0c221526ec5cfee1fcdbca93fc4c46f0bd38f1 248B
0ccb802e98cbb6f36cd869b1bb827fd16e8471 283B
0ce3b681a7d44cfac3adf1810f1a624f7818f7 1KB
0ff9273b3d0d18155ff8e59c49c44cdce90beb 2KB
108dcd12aa822a6976da608ddcf07a898c75ca 2KB
11fc4fdc1e8eb040d8f0ca4801f4c75e02f4f3 405B
120eb4fdb5af8d6c17e3764b2be0d503b575f0 716B
12587f0b496eaed2ba62111a473418284c8b21 2KB
137178955b2265b3bb46f9fe74a78ecfd26c67 285B
13ca9c60ca1872385fe6f784be967c16d746b5 188B
154470e8f1416950b529730a1282b0d5d97f0e 2KB
1784c3a7949d118287a89e05163a7296359c9f 2KB
18d24aebcaef095aeeed4cdd70d676cdcb73aa 1KB
19247a938c703531b06e20bad27ddba349ec05 3KB
192d24ede37261401649cb2c8892c7eab107fc 1KB
197ba4da7b4314a16a19a698fe96c1b2a7ad0b 200B
19fda0c52f55429fb6fc0d333668327edb1024 64B
1a19df98184e2cae70639c7cc89da734d32e13 264B
1a357aed58b865033e2f50cf0da1f7636e0a96 159B
1a5cf414c7a2b13cf2ad71fd84d13635ad7b0c 624B
1a9357a718a4fa3190beeb63aefc58d68921ab 2KB
1aafa3656c430ebadce0ce15339e0cb00cea2d 574B
1c22bb587ecbc238bca61bab06c9c9e7a1cacb 467B
1c4f00ab3e54bc0795720c6a7198480d3b522d 105B
1c67ca8d1ac2437c65a2484510e2fe61471b56 91B
1cff07e4fb2df7521db94c073338dff21b162f 313B
1d897fe14893be87a5ca8c633413db53cb1094 717B
1dcee644542ba554309b9c8ccb0c09bc3cddde 951B
1ebbbf35c07be9f7f0c8238f374755b069eceb 47B
2035c0945952908a7e8623f68ff1d9ab3d3d13 51KB
20dc6667f4e4c80e59052fe8a0f5d0e41c32d6 31B
2106b22958917f1d7e7d65cbddbd08147a930c 578B
217afa871278db4160317fab2449ca3ac68566 345B
2223e3aa4d8ee9f938160484315bdb69f75c40 1KB
233ddaa98a45d407cacdc869d9b7634f72d390 346B
2395cc06417bbf7e8a072378d91877a0784f70 5KB
23ab291ce7da813664085772a8f537fbe45d68 4KB
240d37cec7272194bb9e082589f4237ecc7faa 1KB
250cc3f2830fc66b8d3fde7be4ce337e6b1358 2KB
280ac572d30953e7d4fade44b3304f8a6f8b0b 631B
2823f530de49a8f96d8b6618d73ce8b5c876b7 902B
28872f9eda4c94b981591c57ae235c3d4c1448 1KB
292a97c57301c7eaea9aed0d94556aaf4899d7 2KB
2954f0ae7dd1c70f83f02dcd11e44d782b0dc1 48B
295e1ca807482c9b0f3fa18e025715da3d6cd5 215B
29f08ff0868eae165c2e5f44c035d7292ff8a5 1KB
29f8fdd7f2d445e5affa50b1936c7bd975f559 265B
2a371869558552520e0a385ec649789f6ccf97 1KB
2b1c5507aff620aaad65a56a27fd8732281f51 19KB
2b2757a10f2c8f5bdf7c9a2c466f135f60900e 706B
2b6c57c320bc4e01169bc67d99f7cbcfbcfc0e 483B
2baa44639b93c834eda844eacd5b4d3c409136 1KB
2d175d7635b0ee511dfbbe9a37604704f827a7 21KB
2dfdd36a35e578863132385dd6f6e379ccf4f2 3KB
2e00b13688c1ee58ee0527bb71518d44e25855 334B
2e324fcccdf700d59edf924ecd2fc1d7e84e59 167KB
2e84bb95f5827089c0287489ac1055fb125c7d 285B
2f43791aff796bf55a1f4219127610d704f093 179B
300bc87881aa524b946b260a7f9b2cccd92d51 956B
30b3febae896f4fad664ad9859d39b92f0e660 370KB
30c90eec4cd2adb2286797ab8ef8ef3b1bc839 115B
31582c635a953ae6adbadeb174a9f5a30dd324 2KB
336bc100f64ee31b0367ac41c3c05fe25c9438 269B
34193d36c4a8651e6bc567219fd07267123150 256B
341a7a0af11314891ec56b1ac0c167702cf275 47B
34cc0679d8ae0410c12538bbebb7c789914c0e 537B
35462701a3b66ccfe19e5569c3c89cf788fc56 2KB
356bf89f1cbc3b7b2e77890226837680bec173 744B
3589db6993c13b5bf0ad6dac40c3e22b32783d 382B
36fcfb72584e00488330b560ebcf34a41c64c2 979B
3705b2b7345242d095522c60210986c3c78671 392B
37bd85edb159679a9f92dfbd85f3fccddaa79a 79B
37c9675591c7af948a80f73330f82ea6aff9b8 3KB
共 917 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10
资源评论
传习毕业指导
- 粉丝: 249
- 资源: 47
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功