当前位置:   article > 正文

基于springboot旅游景点导游平台源码和论文_基于springboot的旅游网站参考文献

基于springboot的旅游网站参考文献

1.本课题的目的及研究意义

旅游行业的飞速发展,非常有效地促进了经济社会的进步。但是在一个产业的快速发展中,产业始终会出现许多的问题,旅游行业也不排除在外,如果不及时应对变化,解决这一系列问题的话,这些问题最终会影响整个行业的不断发展。就比如在旅游网站的开发技术方面,如何解决人们日益增长的需求,水平的提高同样伴随的人民要求的提高,人们不仅仅需要系统的安全可靠,能够很好的保护客户的信息,而且需要在页面美观的前提下系统能够给用户提供更多更好的选择,系统如何能够根据用户的点击,关注等等,通过一系列的算法分析出一个用户的爱好所在,以提供适合个人用户的旅游,富含情怀和内容的场所,也是必须解决的问题。

随着互联网的渐渐普及和信息化的发展的同时,客户也希望通过更快的联系方式,更简单方便的网络来满足自己的需求。网络的发展以渗透到人们的日常生活中。本系统是一个基于B/S模式的旅游网站,即可以为旅游公司人员提供更方便、快捷的工作环境,又可以通过网络使客户更方便、快捷的报名参加旅游项目,来减少公司的人员还有旅游者双方的时间,提高人们的工作效率。

2.本课题的国内外的研究现状

在最初的旅游管理方面,大都是通过人力来完成的,比如现场确认要游玩的景点有哪些套餐推荐、价格的优惠程度,确认完之后进行现场买票,最后凭纸质票进入。随着互联网的不断发展,发达国家在计算机方面已达到相当高的水平,现在国内外的旅游景点这种导游平台,基本都会选择旅游管理系统来协助管理。

近年来,随着国家的不断发展,经济不断提高,旅游业也成为热门行业之一。

而随着旅游业变得热门,线下的店面正在面临着人挤人的现象,为买一票需要排很长的队,甚至有时还买不到,浪费了大量的时间,且有很大的安全隐患。旅游人数的增多,也意味着售票的工作人员的任务量也大幅度提升,这就难免会出一些小差错而导致许多麻烦。因此,开发一个旅游管理系统,有利于工作人员的管理,更有利于消费者直观的选择自己的旅游方式,带来更好的旅游体验。

毕业设计(论 文)开题报告

3.本课题的研究内容

开发一个旅游管理平台,需要实现:

三个角色:

1、游客:可浏览景点信息以及论坛。

2、普通用户;新用户注册、老用户登陆、浏览旅游景点、旅游线路预订、论坛留言。

3、管理员:用户管理、新闻资讯管理、景点管理、线路管理、预订管理、论坛管理

以下功能:

1、景点信息功能:景点信息的展示,可通过关键字查找。用户可查看相关景点。管理员对景点信息进行管理

2、线路推荐功能:用户可查看相关线路进行自驾游或者线路预订。管理员可对线路进行管理。

3、线路预订功能:用户可选择一条线路进行预订,购买成功会显示该线路已购买的总数量。游客只能查看不能预订。管理员可对线路进行管理。

4、新闻资讯功能:该功能主要为用户展示各景点内最新新闻的报道,用户游客可查看,管理员可进行管理。

5、论坛管理功能:游客只能浏览不能评论。用户可以浏览以及发表留言。管理员管理留言

4.本课题的实行方案、进度及预期效果

实行方案:

在系统设计与实现过程中,前段采用Vue框架,后端采用Springboot作为开发框架,将MySQL数据库作为本系统的数据存储。

毕业设计(论 文)开题报告

5、已查阅参考文献(10篇以上中文,至少1篇英文,总共至少11篇)

[1]邹盛荣.UML面向对象需求分析与建模教程[M].北京:科学出版社,2017.

[2]西尔伯沙茨(Silberschatz.A.).计算机科学丛书:数据库系统概念(原书第6版)[M]. 机械工业出版社,2018,03.。

[3]陈雄华 企业应用开发详解 电子大学出版社,2017。

[4]孙秀娟,田晓玲.基于CSS+DIV的页面分栏布局的应用[J].北京工业职业技术学院学报,2016,15(04):10-14+18.

[5]刘春茂.网页设计与网站建设案例课堂(第2版)[M].北京:清华大学出版社,2018.

[6]王虎. 基于B/S模式的信息管理平台[D].天津大学,2018.

[7]史胜辉,王春明,沈学华 JavaEE基础教程 清华大学出版社 2016 。

[8]徐鹏涛.基于Vue的前端开发框架的设计与实现[D]. 济南:山东大学,2020.

[9]王丹,孙晓宇,杨路斌,高胜严. 基于Springboot的软件统计分析系统设计与实现[J].软件工程. 2019,(03):40-42

[10]疯狂软件.Spring Boot 2 企业应用实战[M].北京:电子工业出版社,2018.

[11] Durgesh Raghuvanshi. Introduction to Software Testing[J]  Journal of Trend in Scientific Research and Development,2020.:797-800

基于springboot旅游景点导游平台源码和论文453

演示视频:

基于springboot旅游景点导游平台源码和论文

 

  1. package com.controller;
  2. import java.io.File;
  3. import java.math.BigDecimal;
  4. import java.net.URL;
  5. import java.text.SimpleDateFormat;
  6. import com.alibaba.fastjson.JSONObject;
  7. import java.util.*;
  8. import org.springframework.beans.BeanUtils;
  9. import javax.servlet.http.HttpServletRequest;
  10. import org.springframework.web.context.ContextLoader;
  11. import javax.servlet.ServletContext;
  12. import com.service.TokenService;
  13. import com.utils.*;
  14. import java.lang.reflect.InvocationTargetException;
  15. import com.service.DictionaryService;
  16. import org.apache.commons.lang3.StringUtils;
  17. import com.annotation.IgnoreAuth;
  18. import org.slf4j.Logger;
  19. import org.slf4j.LoggerFactory;
  20. import org.springframework.beans.factory.annotation.Autowired;
  21. import org.springframework.stereotype.Controller;
  22. import org.springframework.web.bind.annotation.*;
  23. import com.baomidou.mybatisplus.mapper.EntityWrapper;
  24. import com.baomidou.mybatisplus.mapper.Wrapper;
  25. import com.entity.*;
  26. import com.entity.view.*;
  27. import com.service.*;
  28. import com.utils.PageUtils;
  29. import com.utils.R;
  30. import com.alibaba.fastjson.*;
  31. /**
  32. * 用户
  33. * 后端接口
  34. * @author
  35. * @email
  36. */
  37. @RestController
  38. @Controller
  39. @RequestMapping("/yonghu")
  40. public class YonghuController {
  41. private static final Logger logger = LoggerFactory.getLogger(YonghuController.class);
  42. private static final String TABLE_NAME = "yonghu";
  43. @Autowired
  44. private YonghuService yonghuService;
  45. @Autowired
  46. private TokenService tokenService;
  47. @Autowired
  48. private DictionaryService dictionaryService;//字典
  49. @Autowired
  50. private ForumService forumService;//交流论坛
  51. @Autowired
  52. private GonggaoService gonggaoService;//公告资讯
  53. @Autowired
  54. private HanfuService hanfuService;//汉服信息
  55. @Autowired
  56. private HanfuCollectionService hanfuCollectionService;//汉服收藏
  57. @Autowired
  58. private HanfuCommentbackService hanfuCommentbackService;//汉服评价
  59. @Autowired
  60. private HanfuOrderService hanfuOrderService;//汉服租赁
  61. @Autowired
  62. private UsersService usersService;//管理员
  63. /**
  64. * 后端列表
  65. */
  66. @RequestMapping("/page")
  67. public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
  68. logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
  69. String role = String.valueOf(request.getSession().getAttribute("role"));
  70. if(false)
  71. return R.error(511,"永不会进入");
  72. else if("用户".equals(role))
  73. params.put("yonghuId",request.getSession().getAttribute("userId"));
  74. CommonUtil.checkMap(params);
  75. PageUtils page = yonghuService.queryPage(params);
  76. //字典表数据转换
  77. List<YonghuView> list =(List<YonghuView>)page.getList();
  78. for(YonghuView c:list){
  79. //修改对应字典表字段
  80. dictionaryService.dictionaryConvert(c, request);
  81. }
  82. return R.ok().put("data", page);
  83. }
  84. /**
  85. * 后端详情
  86. */
  87. @RequestMapping("/info/{id}")
  88. public R info(@PathVariable("id") Long id, HttpServletRequest request){
  89. logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
  90. YonghuEntity yonghu = yonghuService.selectById(id);
  91. if(yonghu !=null){
  92. //entity转view
  93. YonghuView view = new YonghuView();
  94. BeanUtils.copyProperties( yonghu , view );//把实体数据重构到view中
  95. //修改对应字典表字段
  96. dictionaryService.dictionaryConvert(view, request);
  97. return R.ok().put("data", view);
  98. }else {
  99. return R.error(511,"查不到数据");
  100. }
  101. }
  102. /**
  103. * 后端保存
  104. */
  105. @RequestMapping("/save")
  106. public R save(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
  107. logger.debug("save方法:,,Controller:{},,yonghu:{}",this.getClass().getName(),yonghu.toString());
  108. String role = String.valueOf(request.getSession().getAttribute("role"));
  109. if(false)
  110. return R.error(511,"永远不会进入");
  111. Wrapper<YonghuEntity> queryWrapper = new EntityWrapper<YonghuEntity>()
  112. .eq("username", yonghu.getUsername())
  113. .or()
  114. .eq("yonghu_phone", yonghu.getYonghuPhone())
  115. .or()
  116. .eq("yonghu_id_number", yonghu.getYonghuIdNumber())
  117. ;
  118. logger.info("sql语句:"+queryWrapper.getSqlSegment());
  119. YonghuEntity yonghuEntity = yonghuService.selectOne(queryWrapper);
  120. if(yonghuEntity==null){
  121. yonghu.setCreateTime(new Date());
  122. yonghu.setPassword("123456");
  123. yonghuService.insert(yonghu);
  124. return R.ok();
  125. }else {
  126. return R.error(511,"账户或者用户手机号或者用户身份证号已经被使用");
  127. }
  128. }
  129. /**
  130. * 后端修改
  131. */
  132. @RequestMapping("/update")
  133. public R update(@RequestBody YonghuEntity yonghu, HttpServletRequest request) throws NoSuchFieldException, ClassNotFoundException, IllegalAccessException, InstantiationException {
  134. logger.debug("update方法:,,Controller:{},,yonghu:{}",this.getClass().getName(),yonghu.toString());
  135. YonghuEntity oldYonghuEntity = yonghuService.selectById(yonghu.getId());//查询原先数据
  136. String role = String.valueOf(request.getSession().getAttribute("role"));
  137. // if(false)
  138. // return R.error(511,"永远不会进入");
  139. if("".equals(yonghu.getYonghuPhoto()) || "null".equals(yonghu.getYonghuPhoto())){
  140. yonghu.setYonghuPhoto(null);
  141. }
  142. yonghuService.updateById(yonghu);//根据id更新
  143. return R.ok();
  144. }
  145. /**
  146. * 删除
  147. */
  148. @RequestMapping("/delete")
  149. public R delete(@RequestBody Integer[] ids, HttpServletRequest request){
  150. logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());
  151. List<YonghuEntity> oldYonghuList =yonghuService.selectBatchIds(Arrays.asList(ids));//要删除的数据
  152. yonghuService.deleteBatchIds(Arrays.asList(ids));
  153. return R.ok();
  154. }
  155. /**
  156. * 批量上传
  157. */
  158. @RequestMapping("/batchInsert")
  159. public R save( String fileName, HttpServletRequest request){
  160. logger.debug("batchInsert方法:,,Controller:{},,fileName:{}",this.getClass().getName(),fileName);
  161. Integer yonghuId = Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId")));
  162. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  163. //.eq("time", new SimpleDateFormat("yyyy-MM-dd").format(new Date()))
  164. try {
  165. List<YonghuEntity> yonghuList = new ArrayList<>();//上传的东西
  166. Map<String, List<String>> seachFields= new HashMap<>();//要查询的字段
  167. Date date = new Date();
  168. int lastIndexOf = fileName.lastIndexOf(".");
  169. if(lastIndexOf == -1){
  170. return R.error(511,"该文件没有后缀");
  171. }else{
  172. String suffix = fileName.substring(lastIndexOf);
  173. if(!".xls".equals(suffix)){
  174. return R.error(511,"只支持后缀为xls的excel文件");
  175. }else{
  176. URL resource = this.getClass().getClassLoader().getResource("static/upload/" + fileName);//获取文件路径
  177. File file = new File(resource.getFile());
  178. if(!file.exists()){
  179. return R.error(511,"找不到上传文件,请联系管理员");
  180. }else{
  181. List<List<String>> dataList = PoiUtil.poiImport(file.getPath());//读取xls文件
  182. dataList.remove(0);//删除第一行,因为第一行是提示
  183. for(List<String> data:dataList){
  184. //循环
  185. YonghuEntity yonghuEntity = new YonghuEntity();
  186. // yonghuEntity.setUsername(data.get(0)); //账户 要改的
  187. // yonghuEntity.setPassword("123456");//密码
  188. // yonghuEntity.setYonghuUuidNumber(data.get(0)); //用户编号 要改的
  189. // yonghuEntity.setYonghuName(data.get(0)); //用户姓名 要改的
  190. // yonghuEntity.setYonghuPhone(data.get(0)); //用户手机号 要改的
  191. // yonghuEntity.setYonghuIdNumber(data.get(0)); //用户身份证号 要改的
  192. // yonghuEntity.setYonghuPhoto("");//详情和图片
  193. // yonghuEntity.setSexTypes(Integer.valueOf(data.get(0))); //性别 要改的
  194. // yonghuEntity.setNewMoney(data.get(0)); //余额 要改的
  195. // yonghuEntity.setYonghuEmail(data.get(0)); //用户邮箱 要改的
  196. // yonghuEntity.setCreateTime(date);//时间
  197. yonghuList.add(yonghuEntity);
  198. //把要查询是否重复的字段放入map中
  199. //账户
  200. if(seachFields.containsKey("username")){
  201. List<String> username = seachFields.get("username");
  202. username.add(data.get(0));//要改的
  203. }else{
  204. List<String> username = new ArrayList<>();
  205. username.add(data.get(0));//要改的
  206. seachFields.put("username",username);
  207. }
  208. //用户编号
  209. if(seachFields.containsKey("yonghuUuidNumber")){
  210. List<String> yonghuUuidNumber = seachFields.get("yonghuUuidNumber");
  211. yonghuUuidNumber.add(data.get(0));//要改的
  212. }else{
  213. List<String> yonghuUuidNumber = new ArrayList<>();
  214. yonghuUuidNumber.add(data.get(0));//要改的
  215. seachFields.put("yonghuUuidNumber",yonghuUuidNumber);
  216. }
  217. //用户手机号
  218. if(seachFields.containsKey("yonghuPhone")){
  219. List<String> yonghuPhone = seachFields.get("yonghuPhone");
  220. yonghuPhone.add(data.get(0));//要改的
  221. }else{
  222. List<String> yonghuPhone = new ArrayList<>();
  223. yonghuPhone.add(data.get(0));//要改的
  224. seachFields.put("yonghuPhone",yonghuPhone);
  225. }
  226. //用户身份证号
  227. if(seachFields.containsKey("yonghuIdNumber")){
  228. List<String> yonghuIdNumber = seachFields.get("yonghuIdNumber");
  229. yonghuIdNumber.add(data.get(0));//要改的
  230. }else{
  231. List<String> yonghuIdNumber = new ArrayList<>();
  232. yonghuIdNumber.add(data.get(0));//要改的
  233. seachFields.put("yonghuIdNumber",yonghuIdNumber);
  234. }
  235. }
  236. //查询是否重复
  237. //账户
  238. List<YonghuEntity> yonghuEntities_username = yonghuService.selectList(new EntityWrapper<YonghuEntity>().in("username", seachFields.get("username")));
  239. if(yonghuEntities_username.size() >0 ){
  240. ArrayList<String> repeatFields = new ArrayList<>();
  241. for(YonghuEntity s:yonghuEntities_username){
  242. repeatFields.add(s.getUsername());
  243. }
  244. return R.error(511,"数据库的该表中的 [账户] 字段已经存在 存在数据为:"+repeatFields.toString());
  245. }
  246. //用户编号
  247. List<YonghuEntity> yonghuEntities_yonghuUuidNumber = yonghuService.selectList(new EntityWrapper<YonghuEntity>().in("yonghu_uuid_number", seachFields.get("yonghuUuidNumber")));
  248. if(yonghuEntities_yonghuUuidNumber.size() >0 ){
  249. ArrayList<String> repeatFields = new ArrayList<>();
  250. for(YonghuEntity s:yonghuEntities_yonghuUuidNumber){
  251. repeatFields.add(s.getYonghuUuidNumber());
  252. }
  253. return R.error(511,"数据库的该表中的 [用户编号] 字段已经存在 存在数据为:"+repeatFields.toString());
  254. }
  255. //用户手机号
  256. List<YonghuEntity> yonghuEntities_yonghuPhone = yonghuService.selectList(new EntityWrapper<YonghuEntity>().in("yonghu_phone", seachFields.get("yonghuPhone")));
  257. if(yonghuEntities_yonghuPhone.size() >0 ){
  258. ArrayList<String> repeatFields = new ArrayList<>();
  259. for(YonghuEntity s:yonghuEntities_yonghuPhone){
  260. repeatFields.add(s.getYonghuPhone());
  261. }
  262. return R.error(511,"数据库的该表中的 [用户手机号] 字段已经存在 存在数据为:"+repeatFields.toString());
  263. }
  264. //用户身份证号
  265. List<YonghuEntity> yonghuEntities_yonghuIdNumber = yonghuService.selectList(new EntityWrapper<YonghuEntity>().in("yonghu_id_number", seachFields.get("yonghuIdNumber")));
  266. if(yonghuEntities_yonghuIdNumber.size() >0 ){
  267. ArrayList<String> repeatFields = new ArrayList<>();
  268. for(YonghuEntity s:yonghuEntities_yonghuIdNumber){
  269. repeatFields.add(s.getYonghuIdNumber());
  270. }
  271. return R.error(511,"数据库的该表中的 [用户身份证号] 字段已经存在 存在数据为:"+repeatFields.toString());
  272. }
  273. yonghuService.insertBatch(yonghuList);
  274. return R.ok();
  275. }
  276. }
  277. }
  278. }catch (Exception e){
  279. e.printStackTrace();
  280. return R.error(511,"批量插入数据异常,请联系管理员");
  281. }
  282. }
  283. /**
  284. * 登录
  285. */
  286. @IgnoreAuth
  287. @RequestMapping(value = "/login")
  288. public R login(String username, String password, String captcha, HttpServletRequest request) {
  289. YonghuEntity yonghu = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("username", username));
  290. if(yonghu==null || !yonghu.getPassword().equals(password))
  291. return R.error("账号或密码不正确");
  292. String token = tokenService.generateToken(yonghu.getId(),username, "yonghu", "用户");
  293. R r = R.ok();
  294. r.put("token", token);
  295. r.put("role","用户");
  296. r.put("username",yonghu.getYonghuName());
  297. r.put("tableName","yonghu");
  298. r.put("userId",yonghu.getId());
  299. return r;
  300. }
  301. /**
  302. * 注册
  303. */
  304. @IgnoreAuth
  305. @PostMapping(value = "/register")
  306. public R register(@RequestBody YonghuEntity yonghu, HttpServletRequest request) {
  307. // ValidatorUtils.validateEntity(user);
  308. Wrapper<YonghuEntity> queryWrapper = new EntityWrapper<YonghuEntity>()
  309. .eq("username", yonghu.getUsername())
  310. .or()
  311. .eq("yonghu_phone", yonghu.getYonghuPhone())
  312. .or()
  313. .eq("yonghu_id_number", yonghu.getYonghuIdNumber())
  314. ;
  315. YonghuEntity yonghuEntity = yonghuService.selectOne(queryWrapper);
  316. if(yonghuEntity != null)
  317. return R.error("账户或者用户手机号或者用户身份证号已经被使用");
  318. yonghu.setYonghuUuidNumber(String.valueOf(new Date().getTime()));
  319. yonghu.setNewMoney(0.0);
  320. yonghu.setCreateTime(new Date());
  321. yonghuService.insert(yonghu);
  322. return R.ok();
  323. }
  324. /**
  325. * 重置密码
  326. */
  327. @GetMapping(value = "/resetPassword")
  328. public R resetPassword(Integer id, HttpServletRequest request) {
  329. YonghuEntity yonghu = yonghuService.selectById(id);
  330. yonghu.setPassword("123456");
  331. yonghuService.updateById(yonghu);
  332. return R.ok();
  333. }
  334. /**
  335. * 修改密码
  336. */
  337. @GetMapping(value = "/updatePassword")
  338. public R updatePassword(String oldPassword, String newPassword, HttpServletRequest request) {
  339. YonghuEntity yonghu = yonghuService.selectById((Integer)request.getSession().getAttribute("userId"));
  340. if(newPassword == null){
  341. return R.error("新密码不能为空") ;
  342. }
  343. if(!oldPassword.equals(yonghu.getPassword())){
  344. return R.error("原密码输入错误");
  345. }
  346. if(newPassword.equals(yonghu.getPassword())){
  347. return R.error("新密码不能和原密码一致") ;
  348. }
  349. yonghu.setPassword(newPassword);
  350. yonghuService.updateById(yonghu);
  351. return R.ok();
  352. }
  353. /**
  354. * 忘记密码
  355. */
  356. @IgnoreAuth
  357. @RequestMapping(value = "/resetPass")
  358. public R resetPass(String username, HttpServletRequest request) {
  359. YonghuEntity yonghu = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("username", username));
  360. if(yonghu!=null){
  361. yonghu.setPassword("123456");
  362. yonghuService.updateById(yonghu);
  363. return R.ok();
  364. }else{
  365. return R.error("账号不存在");
  366. }
  367. }
  368. /**
  369. * 获取用户的session用户信息
  370. */
  371. @RequestMapping("/session")
  372. public R getCurrYonghu(HttpServletRequest request){
  373. Integer id = (Integer)request.getSession().getAttribute("userId");
  374. YonghuEntity yonghu = yonghuService.selectById(id);
  375. if(yonghu !=null){
  376. //entity转view
  377. YonghuView view = new YonghuView();
  378. BeanUtils.copyProperties( yonghu , view );//把实体数据重构到view中
  379. //修改对应字典表字段
  380. dictionaryService.dictionaryConvert(view, request);
  381. return R.ok().put("data", view);
  382. }else {
  383. return R.error(511,"查不到数据");
  384. }
  385. }
  386. /**
  387. * 退出
  388. */
  389. @GetMapping(value = "logout")
  390. public R logout(HttpServletRequest request) {
  391. request.getSession().invalidate();
  392. return R.ok("退出成功");
  393. }
  394. /**
  395. * 前端列表
  396. */
  397. @IgnoreAuth
  398. @RequestMapping("/list")
  399. public R list(@RequestParam Map<String, Object> params, HttpServletRequest request){
  400. logger.debug("list方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
  401. CommonUtil.checkMap(params);
  402. PageUtils page = yonghuService.queryPage(params);
  403. //字典表数据转换
  404. List<YonghuView> list =(List<YonghuView>)page.getList();
  405. for(YonghuView c:list)
  406. dictionaryService.dictionaryConvert(c, request); //修改对应字典表字段
  407. return R.ok().put("data", page);
  408. }
  409. /**
  410. * 前端详情
  411. */
  412. @RequestMapping("/detail/{id}")
  413. public R detail(@PathVariable("id") Integer id, HttpServletRequest request){
  414. logger.debug("detail方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
  415. YonghuEntity yonghu = yonghuService.selectById(id);
  416. if(yonghu !=null){
  417. //entity转view
  418. YonghuView view = new YonghuView();
  419. BeanUtils.copyProperties( yonghu , view );//把实体数据重构到view中
  420. //修改对应字典表字段
  421. dictionaryService.dictionaryConvert(view, request);
  422. return R.ok().put("data", view);
  423. }else {
  424. return R.error(511,"查不到数据");
  425. }
  426. }
  427. /**
  428. * 前端保存
  429. */
  430. @RequestMapping("/add")
  431. public R add(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
  432. logger.debug("add方法:,,Controller:{},,yonghu:{}",this.getClass().getName(),yonghu.toString());
  433. Wrapper<YonghuEntity> queryWrapper = new EntityWrapper<YonghuEntity>()
  434. .eq("username", yonghu.getUsername())
  435. .or()
  436. .eq("yonghu_phone", yonghu.getYonghuPhone())
  437. .or()
  438. .eq("yonghu_id_number", yonghu.getYonghuIdNumber())
  439. // .notIn("yonghu_types", new Integer[]{102})
  440. ;
  441. logger.info("sql语句:"+queryWrapper.getSqlSegment());
  442. YonghuEntity yonghuEntity = yonghuService.selectOne(queryWrapper);
  443. if(yonghuEntity==null){
  444. yonghu.setCreateTime(new Date());
  445. yonghu.setPassword("123456");
  446. yonghuService.insert(yonghu);
  447. return R.ok();
  448. }else {
  449. return R.error(511,"账户或者用户手机号或者用户身份证号已经被使用");
  450. }
  451. }
  452. }
  1. package com.controller;
  2. import java.text.SimpleDateFormat;
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5. import java.util.Calendar;
  6. import java.util.Map;
  7. import java.util.HashMap;
  8. import java.util.Iterator;
  9. import java.util.Date;
  10. import java.util.List;
  11. import javax.servlet.http.HttpServletRequest;
  12. import com.utils.ValidatorUtils;
  13. import org.apache.commons.lang3.StringUtils;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.format.annotation.DateTimeFormat;
  16. import org.springframework.web.bind.annotation.PathVariable;
  17. import org.springframework.web.bind.annotation.RequestBody;
  18. import org.springframework.web.bind.annotation.RequestMapping;
  19. import org.springframework.web.bind.annotation.RequestParam;
  20. import org.springframework.web.bind.annotation.RestController;
  21. import com.baomidou.mybatisplus.mapper.EntityWrapper;
  22. import com.baomidou.mybatisplus.mapper.Wrapper;
  23. import com.annotation.IgnoreAuth;
  24. import com.entity.YonghuEntity;
  25. import com.entity.view.YonghuView;
  26. import com.service.YonghuService;
  27. import com.service.TokenService;
  28. import com.utils.PageUtils;
  29. import com.utils.R;
  30. import com.utils.MD5Util;
  31. import com.utils.MPUtil;
  32. import com.utils.CommonUtil;
  33. /**
  34. * 用户
  35. * 后端接口
  36. * @author
  37. * @email
  38. * @date 2021-04-19 16:07:48
  39. */
  40. @RestController
  41. @RequestMapping("/yonghu")
  42. public class YonghuController {
  43. @Autowired
  44. private YonghuService yonghuService;
  45. @Autowired
  46. private TokenService tokenService;
  47. /**
  48. * 登录
  49. */
  50. @IgnoreAuth
  51. @RequestMapping(value = "/login")
  52. public R login(String username, String password, String captcha, HttpServletRequest request) {
  53. YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuming", username));
  54. if(user==null || !user.getMima().equals(password)) {
  55. return R.error("账号或密码不正确");
  56. }
  57. String token = tokenService.generateToken(user.getId(), username,"yonghu", "用户" );
  58. return R.ok().put("token", token);
  59. }
  60. /**
  61. * 注册
  62. */
  63. @IgnoreAuth
  64. @RequestMapping("/register")
  65. public R register(@RequestBody YonghuEntity yonghu){
  66. //ValidatorUtils.validateEntity(yonghu);
  67. YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuming", yonghu.getYonghuming()));
  68. if(user!=null) {
  69. return R.error("注册用户已存在");
  70. }
  71. Long uId = new Date().getTime();
  72. yonghu.setId(uId);
  73. yonghuService.insert(yonghu);
  74. return R.ok();
  75. }
  76. /**
  77. * 退出
  78. */
  79. @RequestMapping("/logout")
  80. public R logout(HttpServletRequest request) {
  81. request.getSession().invalidate();
  82. return R.ok("退出成功");
  83. }
  84. /**
  85. * 获取用户的session用户信息
  86. */
  87. @RequestMapping("/session")
  88. public R getCurrUser(HttpServletRequest request){
  89. Long id = (Long)request.getSession().getAttribute("userId");
  90. YonghuEntity user = yonghuService.selectById(id);
  91. return R.ok().put("data", user);
  92. }
  93. /**
  94. * 密码重置
  95. */
  96. @IgnoreAuth
  97. @RequestMapping(value = "/resetPass")
  98. public R resetPass(String username, HttpServletRequest request){
  99. YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuming", username));
  100. if(user==null) {
  101. return R.error("账号不存在");
  102. }
  103. user.setMima("123456");
  104. yonghuService.updateById(user);
  105. return R.ok("密码已重置为:123456");
  106. }
  107. /**
  108. * 后端列表
  109. */
  110. @RequestMapping("/page")
  111. public R page(@RequestParam Map<String, Object> params,YonghuEntity yonghu,
  112. HttpServletRequest request){
  113. EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();
  114. PageUtils page = yonghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));
  115. return R.ok().put("data", page);
  116. }
  117. /**
  118. * 前端列表
  119. */
  120. @RequestMapping("/list")
  121. public R list(@RequestParam Map<String, Object> params,YonghuEntity yonghu, HttpServletRequest request){
  122. EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();
  123. PageUtils page = yonghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));
  124. return R.ok().put("data", page);
  125. }
  126. /**
  127. * 列表
  128. */
  129. @RequestMapping("/lists")
  130. public R list( YonghuEntity yonghu){
  131. EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();
  132. ew.allEq(MPUtil.allEQMapPre( yonghu, "yonghu"));
  133. return R.ok().put("data", yonghuService.selectListView(ew));
  134. }
  135. /**
  136. * 查询
  137. */
  138. @RequestMapping("/query")
  139. public R query(YonghuEntity yonghu){
  140. EntityWrapper< YonghuEntity> ew = new EntityWrapper< YonghuEntity>();
  141. ew.allEq(MPUtil.allEQMapPre( yonghu, "yonghu"));
  142. YonghuView yonghuView = yonghuService.selectView(ew);
  143. return R.ok("查询用户成功").put("data", yonghuView);
  144. }
  145. /**
  146. * 后端详情
  147. */
  148. @RequestMapping("/info/{id}")
  149. public R info(@PathVariable("id") Long id){
  150. YonghuEntity yonghu = yonghuService.selectById(id);
  151. return R.ok().put("data", yonghu);
  152. }
  153. /**
  154. * 前端详情
  155. */
  156. @RequestMapping("/detail/{id}")
  157. public R detail(@PathVariable("id") Long id){
  158. YonghuEntity yonghu = yonghuService.selectById(id);
  159. return R.ok().put("data", yonghu);
  160. }
  161. /**
  162. * 后端保存
  163. */
  164. @RequestMapping("/save")
  165. public R save(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
  166. yonghu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
  167. //ValidatorUtils.validateEntity(yonghu);
  168. YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuming", yonghu.getYonghuming()));
  169. if(user!=null) {
  170. return R.error("用户已存在");
  171. }
  172. yonghu.setId(new Date().getTime());
  173. yonghuService.insert(yonghu);
  174. return R.ok();
  175. }
  176. /**
  177. * 前端保存
  178. */
  179. @RequestMapping("/add")
  180. public R add(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
  181. yonghu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
  182. //ValidatorUtils.validateEntity(yonghu);
  183. YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuming", yonghu.getYonghuming()));
  184. if(user!=null) {
  185. return R.error("用户已存在");
  186. }
  187. yonghu.setId(new Date().getTime());
  188. yonghuService.insert(yonghu);
  189. return R.ok();
  190. }
  191. /**
  192. * 修改
  193. */
  194. @RequestMapping("/update")
  195. public R update(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
  196. //ValidatorUtils.validateEntity(yonghu);
  197. yonghuService.updateById(yonghu);//全部更新
  198. return R.ok();
  199. }
  200. /**
  201. * 删除
  202. */
  203. @RequestMapping("/delete")
  204. public R delete(@RequestBody Long[] ids){
  205. yonghuService.deleteBatchIds(Arrays.asList(ids));
  206. return R.ok();
  207. }
  208. /**
  209. * 提醒接口
  210. */
  211. @RequestMapping("/remind/{columnName}/{type}")
  212. public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
  213. @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
  214. map.put("column", columnName);
  215. map.put("type", type);
  216. if(type.equals("2")) {
  217. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  218. Calendar c = Calendar.getInstance();
  219. Date remindStartDate = null;
  220. Date remindEndDate = null;
  221. if(map.get("remindstart")!=null) {
  222. Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
  223. c.setTime(new Date());
  224. c.add(Calendar.DAY_OF_MONTH,remindStart);
  225. remindStartDate = c.getTime();
  226. map.put("remindstart", sdf.format(remindStartDate));
  227. }
  228. if(map.get("remindend")!=null) {
  229. Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
  230. c.setTime(new Date());
  231. c.add(Calendar.DAY_OF_MONTH,remindEnd);
  232. remindEndDate = c.getTime();
  233. map.put("remindend", sdf.format(remindEndDate));
  234. }
  235. }
  236. Wrapper<YonghuEntity> wrapper = new EntityWrapper<YonghuEntity>();
  237. if(map.get("remindstart")!=null) {
  238. wrapper.ge(columnName, map.get("remindstart"));
  239. }
  240. if(map.get("remindend")!=null) {
  241. wrapper.le(columnName, map.get("remindend"));
  242. }
  243. int count = yonghuService.selectCount(wrapper);
  244. return R.ok().put("count", count);
  245. }
  246. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/526025
推荐阅读
相关标签
  

闽ICP备14008679号