博客系统是能够让网民记录分享和学习的一个网站,在博客中我们可以发表文章对感兴趣的事情进行讨论。而基于移动端的个人博客系统的设计是就为了迎合广大用户需求创建的一个界面简洁、有定向内容、业务逻辑简单易操作的博客系统。本文以博客系统的设计与实现为例,提出了利用Android 平台开发设计和实现个人博客应用的思想,并对其制作过程和结果进行了研究和展示。个人博客系统是基于B/S架构模式,有针对性地采用uniapp 与springboot框架,管理员数据库系统选用MYSQL数据库。系统主要分为前端用户和后台管理员两个部分,用户功能模块包括个人中心、博客信息、我的收藏管理、在线客服、我要发贴、我的发帖等功能模块;管理员包括个人中心、用户管理、博客信息管理、博客分类管理、博客论坛、系统管理等功能模块。
全文首先分析了课题的研究背景和研究现状,然后根据系统开发流程分析了系统的可行性和需求。然后,通过对系统总体功能模块的设计,绘制了系统的功能模块图,并设计了整个数据库的结构。根据设计的框架,实现了系统的各个功能模块。最后,对设计的系统进行测试。测试结果表明,系统能够实现所需的功能,达到了预期的效果,运行状况良好。
关键词:个人博客;springboot;MYSQL数据库
springboot基于移动端的个人博客系统源码和论文025
演示视频:
springboot基于移动端的个人博客系统源码和论文
Abstract
The blog system is a website that allows netizens to record and share and learn. In the blog, we can publish articles to discuss the things we are interested in. The design of personal blog system based on mobile terminal is a blog system with simple interface, oriented content, simple business logic and easy operation to meet the needs of users. This paper takes the design and implementation of blog system as an example, puts forward the idea of using Android platform to develop, design and implement personal blog application, and studies and demonstrates its making process and results. Personal blog system is based on B/S architecture mode, targeted use of uniapp and springboot framework, administrator database system chooses MYSQL database. The system is mainly divided into two parts: front-end user and background administrator. The user function module includes personal center, blog information, my collection management, online customer service, I want to post, my post and other functional modules. Administrators include personal center, user management, blog information management, blog classification management, blog forum, system management and other functional modules.
This paper first analyzes the research background and research status of the subject, and then analyzes the feasibility and demand of the system according to the system development process. Then, through the design of the system's overall function module, draw the system's function module diagram, and design the structure of the whole database. According to the design framework, each function module of the system is realized. Finally, the designed system is tested. The test results show that the system can achieve the desired function, achieve the expected effect, and run well.
Key words: personal blog; Springboot; The MYSQL database
package com.controller;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;
import com.entity.BokefenleiEntity;
import com.entity.view.BokefenleiView;
import com.service.BokefenleiService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
import java.io.IOException;
/**
* 博客分类
* 后端接口
* @author
* @email
* @date 2022-10-17 16:08:34
*/
@RestController
@RequestMapping("/bokefenlei")
public class BokefenleiController {
@Autowired
private BokefenleiService bokefenleiService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,BokefenleiEntity bokefenlei,
HttpServletRequest request){
EntityWrapper<BokefenleiEntity> ew = new EntityWrapper<BokefenleiEntity>();
PageUtils page = bokefenleiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bokefenlei), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,BokefenleiEntity bokefenlei,
HttpServletRequest request){
EntityWrapper<BokefenleiEntity> ew = new EntityWrapper<BokefenleiEntity>();
PageUtils page = bokefenleiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bokefenlei), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( BokefenleiEntity bokefenlei){
EntityWrapper<BokefenleiEntity> ew = new EntityWrapper<BokefenleiEntity>();
ew.allEq(MPUtil.allEQMapPre( bokefenlei, "bokefenlei"));
return R.ok().put("data", bokefenleiService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(BokefenleiEntity bokefenlei){
EntityWrapper< BokefenleiEntity> ew = new EntityWrapper< BokefenleiEntity>();
ew.allEq(MPUtil.allEQMapPre( bokefenlei, "bokefenlei"));
BokefenleiView bokefenleiView = bokefenleiService.selectView(ew);
return R.ok("查询博客分类成功").put("data", bokefenleiView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
BokefenleiEntity bokefenlei = bokefenleiService.selectById(id);
return R.ok().put("data", bokefenlei);
}
/**
* 前端详情
*/
@IgnoreAuth
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
BokefenleiEntity bokefenlei = bokefenleiService.selectById(id);
return R.ok().put("data", bokefenlei);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody BokefenleiEntity bokefenlei, HttpServletRequest request){
bokefenlei.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(bokefenlei);
bokefenleiService.insert(bokefenlei);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody BokefenleiEntity bokefenlei, HttpServletRequest request){
bokefenlei.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(bokefenlei);
bokefenleiService.insert(bokefenlei);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
@Transactional
public R update(@RequestBody BokefenleiEntity bokefenlei, HttpServletRequest request){
//ValidatorUtils.validateEntity(bokefenlei);
bokefenleiService.updateById(bokefenlei);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
bokefenleiService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 提醒接口
*/
@RequestMapping("/remind/{columnName}/{type}")
public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
@PathVariable("type") String type,@RequestParam Map<String, Object> map) {
map.put("column", columnName);
map.put("type", type);
if(type.equals("2")) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
Date remindStartDate = null;
Date remindEndDate = null;
if(map.get("remindstart")!=null) {
Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindStart);
remindStartDate = c.getTime();
map.put("remindstart", sdf.format(remindStartDate));
}
if(map.get("remindend")!=null) {
Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindEnd);
remindEndDate = c.getTime();
map.put("remindend", sdf.format(remindEndDate));
}
}
Wrapper<BokefenleiEntity> wrapper = new EntityWrapper<BokefenleiEntity>();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}
int count = bokefenleiService.selectCount(wrapper);
return R.ok().put("count", count);
}
}
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("/laoshi")
public class LaoshiController {
private static final Logger logger = LoggerFactory.getLogger(LaoshiController.class);
private static final String TABLE_NAME = "laoshi";
@Autowired
private LaoshiService laoshiService;
@Autowired
private TokenService tokenService;
@Autowired
private DanganService danganService;//学生档案
@Autowired
private DictionaryService dictionaryService;//字典
@Autowired
private ExampaperService exampaperService;//试卷
@Autowired
private ExampapertopicService exampapertopicService;//试卷选题
@Autowired
private ExamquestionService examquestionService;//试题表
@Autowired
private ExamrecordService examrecordService;//考试记录表
@Autowired
private ExamredetailsService examredetailsService;//答题详情表
@Autowired
private ExamrewrongquestionService examrewrongquestionService;//错题表
@Autowired
private FalvfaguiService falvfaguiService;//法律法规
@Autowired
private FalvfaguiCollectionService falvfaguiCollectionService;//法律法规收藏
@Autowired
private FalvfaguiLiuyanService falvfaguiLiuyanService;//法律法规留言
@Autowired
private FenxiService fenxiService;//就业分析
@Autowired
private ForumService forumService;//论坛
@Autowired
private GongsiService gongsiService;//企业
@Autowired
private JianliService jianliService;//简历
@Autowired
private ToudiService toudiService;//简历投递
@Autowired
private XinwenService xinwenService;//新闻资讯
@Autowired
private XinwenCollectionService xinwenCollectionService;//新闻资讯收藏
@Autowired
private XinwenLiuyanService xinwenLiuyanService;//新闻资讯留言
@Autowired
private XinxiService xinxiService;//学生信息
@Autowired
private XuanchuanService xuanchuanService;//宣传
@Autowired
private YonghuService yonghuService;//学生
@Autowired
private ZhaopinService zhaopinService;//职位招聘
@Autowired
private ZhaopinCollectionService zhaopinCollectionService;//职位收藏
@Autowired
private ZhaopinLiuyanService zhaopinLiuyanService;//招聘咨询
@Autowired
private UsersService usersService;//管理员
/**
* 后端列表
*/
@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("gongsiId",request.getSession().getAttribute("userId"));
else if("老师".equals(role))
params.put("laoshiId",request.getSession().getAttribute("userId"));
CommonUtil.checkMap(params);
PageUtils page = laoshiService.queryPage(params);
//字典表数据转换
List<LaoshiView> list =(List<LaoshiView>)page.getList();
for(LaoshiView 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);
LaoshiEntity laoshi = laoshiService.selectById(id);
if(laoshi !=null){
//entity转view
LaoshiView view = new LaoshiView();
BeanUtils.copyProperties( laoshi , view );//把实体数据重构到view中
//修改对应字典表字段
dictionaryService.dictionaryConvert(view, request);
return R.ok().put("data", view);
}else {
return R.error(511,"查不到数据");
}
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody LaoshiEntity laoshi, HttpServletRequest request){
logger.debug("save方法:,,Controller:{},,laoshi:{}",this.getClass().getName(),laoshi.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
if(false)
return R.error(511,"永远不会进入");
Wrapper<LaoshiEntity> queryWrapper = new EntityWrapper<LaoshiEntity>()
.eq("username", laoshi.getUsername())
.or()
.eq("laoshi_phone", laoshi.getLaoshiPhone())
.or()
.eq("laoshi_id_number", laoshi.getLaoshiIdNumber())
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
LaoshiEntity laoshiEntity = laoshiService.selectOne(queryWrapper);
if(laoshiEntity==null){
laoshi.setCreateTime(new Date());
laoshi.setPassword("123456");
laoshiService.insert(laoshi);
return R.ok();
}else {
return R.error(511,"账户或者老师手机号或者老师身份证号已经被使用");
}
}
/**
* 后端修改
*/
@RequestMapping("/update")
public R update(@RequestBody LaoshiEntity laoshi, HttpServletRequest request) throws NoSuchFieldException, ClassNotFoundException, IllegalAccessException, InstantiationException {
logger.debug("update方法:,,Controller:{},,laoshi:{}",this.getClass().getName(),laoshi.toString());
LaoshiEntity oldLaoshiEntity = laoshiService.selectById(laoshi.getId());//查询原先数据
String role = String.valueOf(request.getSession().getAttribute("role"));
// if(false)
// return R.error(511,"永远不会进入");
if("".equals(laoshi.getLaoshiPhoto()) || "null".equals(laoshi.getLaoshiPhoto())){
laoshi.setLaoshiPhoto(null);
}
laoshiService.updateById(laoshi);//根据id更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Integer[] ids, HttpServletRequest request){
logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());
List<LaoshiEntity> oldLaoshiList =laoshiService.selectBatchIds(Arrays.asList(ids));//要删除的数据
laoshiService.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");
//.eq("time", new SimpleDateFormat("yyyy-MM-dd").format(new Date()))
try {
List<LaoshiEntity> laoshiList = 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.getPath());//读取xls文件
dataList.remove(0);//删除第一行,因为第一行是提示
for(List<String> data:dataList){
//循环
LaoshiEntity laoshiEntity = new LaoshiEntity();
// laoshiEntity.setUsername(data.get(0)); //账户 要改的
// laoshiEntity.setPassword("123456");//密码
// laoshiEntity.setLaoshiName(data.get(0)); //老师姓名 要改的
// laoshiEntity.setLaoshiPhone(data.get(0)); //老师手机号 要改的
// laoshiEntity.setLaoshiIdNumber(data.get(0)); //老师身份证号 要改的
// laoshiEntity.setLaoshiPhoto("");//详情和图片
// laoshiEntity.setSexTypes(Integer.valueOf(data.get(0))); //性别 要改的
// laoshiEntity.setLaoshiEmail(data.get(0)); //老师邮箱 要改的
// laoshiEntity.setCreateTime(date);//时间
laoshiList.add(laoshiEntity);
//把要查询是否重复的字段放入map中
//账户
if(seachFields.containsKey("username")){
List<String> username = seachFields.get("username");
username.add(data.get(0));//要改的
}else{
List<String> username = new ArrayList<>();
username.add(data.get(0));//要改的
seachFields.put("username",username);
}
//老师手机号
if(seachFields.containsKey("laoshiPhone")){
List<String> laoshiPhone = seachFields.get("laoshiPhone");
laoshiPhone.add(data.get(0));//要改的
}else{
List<String> laoshiPhone = new ArrayList<>();
laoshiPhone.add(data.get(0));//要改的
seachFields.put("laoshiPhone",laoshiPhone);
}
//老师身份证号
if(seachFields.containsKey("laoshiIdNumber")){
List<String> laoshiIdNumber = seachFields.get("laoshiIdNumber");
laoshiIdNumber.add(data.get(0));//要改的
}else{
List<String> laoshiIdNumber = new ArrayList<>();
laoshiIdNumber.add(data.get(0));//要改的
seachFields.put("laoshiIdNumber",laoshiIdNumber);
}
}
//查询是否重复
//账户
List<LaoshiEntity> laoshiEntities_username = laoshiService.selectList(new EntityWrapper<LaoshiEntity>().in("username", seachFields.get("username")));
if(laoshiEntities_username.size() >0 ){
ArrayList<String> repeatFields = new ArrayList<>();
for(LaoshiEntity s:laoshiEntities_username){
repeatFields.add(s.getUsername());
}
return R.error(511,"数据库的该表中的 [账户] 字段已经存在 存在数据为:"+repeatFields.toString());
}
//老师手机号
List<LaoshiEntity> laoshiEntities_laoshiPhone = laoshiService.selectList(new EntityWrapper<LaoshiEntity>().in("laoshi_phone", seachFields.get("laoshiPhone")));
if(laoshiEntities_laoshiPhone.size() >0 ){
ArrayList<String> repeatFields = new ArrayList<>();
for(LaoshiEntity s:laoshiEntities_laoshiPhone){
repeatFields.add(s.getLaoshiPhone());
}
return R.error(511,"数据库的该表中的 [老师手机号] 字段已经存在 存在数据为:"+repeatFields.toString());
}
//老师身份证号
List<LaoshiEntity> laoshiEntities_laoshiIdNumber = laoshiService.selectList(new EntityWrapper<LaoshiEntity>().in("laoshi_id_number", seachFields.get("laoshiIdNumber")));
if(laoshiEntities_laoshiIdNumber.size() >0 ){
ArrayList<String> repeatFields = new ArrayList<>();
for(LaoshiEntity s:laoshiEntities_laoshiIdNumber){
repeatFields.add(s.getLaoshiIdNumber());
}
return R.error(511,"数据库的该表中的 [老师身份证号] 字段已经存在 存在数据为:"+repeatFields.toString());
}
laoshiService.insertBatch(laoshiList);
return R.ok();
}
}
}
}catch (Exception e){
e.printStackTrace();
return R.error(511,"批量插入数据异常,请联系管理员");
}
}
/**
* 登录
*/
@IgnoreAuth
@RequestMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
LaoshiEntity laoshi = laoshiService.selectOne(new EntityWrapper<LaoshiEntity>().eq("username", username));
if(laoshi==null || !laoshi.getPassword().equals(password))
return R.error("账号或密码不正确");
String token = tokenService.generateToken(laoshi.getId(),username, "laoshi", "老师");
R r = R.ok();
r.put("token", token);
r.put("role","老师");
r.put("username",laoshi.getLaoshiName());
r.put("tableName","laoshi");
r.put("userId",laoshi.getId());
return r;
}
/**
* 注册
*/
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody LaoshiEntity laoshi, HttpServletRequest request) {
// ValidatorUtils.validateEntity(user);
Wrapper<LaoshiEntity> queryWrapper = new EntityWrapper<LaoshiEntity>()
.eq("username", laoshi.getUsername())
.or()
.eq("laoshi_phone", laoshi.getLaoshiPhone())
.or()
.eq("laoshi_id_number", laoshi.getLaoshiIdNumber())
;
LaoshiEntity laoshiEntity = laoshiService.selectOne(queryWrapper);
if(laoshiEntity != null)
return R.error("账户或者老师手机号或者老师身份证号已经被使用");
laoshi.setCreateTime(new Date());
laoshiService.insert(laoshi);
return R.ok();
}
/**
* 重置密码
*/
@GetMapping(value = "/resetPassword")
public R resetPassword(Integer id, HttpServletRequest request) {
LaoshiEntity laoshi = laoshiService.selectById(id);
laoshi.setPassword("123456");
laoshiService.updateById(laoshi);
return R.ok();
}
/**
* 修改密码
*/
@GetMapping(value = "/updatePassword")
public R updatePassword(String oldPassword, String newPassword, HttpServletRequest request) {
LaoshiEntity laoshi = laoshiService.selectById((Integer)request.getSession().getAttribute("userId"));
if(newPassword == null){
return R.error("新密码不能为空") ;
}
if(!oldPassword.equals(laoshi.getPassword())){
return R.error("原密码输入错误");
}
if(newPassword.equals(laoshi.getPassword())){
return R.error("新密码不能和原密码一致") ;
}
laoshi.setPassword(newPassword);
laoshiService.updateById(laoshi);
return R.ok();
}
/**
* 忘记密码
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request) {
LaoshiEntity laoshi = laoshiService.selectOne(new EntityWrapper<LaoshiEntity>().eq("username", username));
if(laoshi!=null){
laoshi.setPassword("123456");
laoshiService.updateById(laoshi);
return R.ok();
}else{
return R.error("账号不存在");
}
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrLaoshi(HttpServletRequest request){
Integer id = (Integer)request.getSession().getAttribute("userId");
LaoshiEntity laoshi = laoshiService.selectById(id);
if(laoshi !=null){
//entity转view
LaoshiView view = new LaoshiView();
BeanUtils.copyProperties( laoshi , view );//把实体数据重构到view中
//修改对应字典表字段
dictionaryService.dictionaryConvert(view, request);
return R.ok().put("data", view);
}else {
return R.error(511,"查不到数据");
}
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 前端列表
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params, HttpServletRequest request){
logger.debug("list方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
CommonUtil.checkMap(params);
PageUtils page = laoshiService.queryPage(params);
//字典表数据转换
List<LaoshiView> list =(List<LaoshiView>)page.getList();
for(LaoshiView c:list)
dictionaryService.dictionaryConvert(c, request); //修改对应字典表字段
return R.ok().put("data", page);
}
/**
* 前端详情
*/
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id, HttpServletRequest request){
logger.debug("detail方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
LaoshiEntity laoshi = laoshiService.selectById(id);
if(laoshi !=null){
//entity转view
LaoshiView view = new LaoshiView();
BeanUtils.copyProperties( laoshi , view );//把实体数据重构到view中
//修改对应字典表字段
dictionaryService.dictionaryConvert(view, request);
return R.ok().put("data", view);
}else {
return R.error(511,"查不到数据");
}
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody LaoshiEntity laoshi, HttpServletRequest request){
logger.debug("add方法:,,Controller:{},,laoshi:{}",this.getClass().getName(),laoshi.toString());
Wrapper<LaoshiEntity> queryWrapper = new EntityWrapper<LaoshiEntity>()
.eq("username", laoshi.getUsername())
.or()
.eq("laoshi_phone", laoshi.getLaoshiPhone())
.or()
.eq("laoshi_id_number", laoshi.getLaoshiIdNumber())
// .notIn("laoshi_types", new Integer[]{102})
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
LaoshiEntity laoshiEntity = laoshiService.selectOne(queryWrapper);
if(laoshiEntity==null){
laoshi.setCreateTime(new Date());
laoshi.setPassword("123456");
laoshiService.insert(laoshi);
return R.ok();
}else {
return R.error(511,"账户或者老师手机号或者老师身份证号已经被使用");
}
}
}