深圳网站建设与制作公司,网络推广方案案例,元氏网站建设,舒城网站建设首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包罗软件架构模式、整体功能模块、数据库设计。本项…首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包罗软件架构模式、整体功能模块、数据库设计。本项目软件架构选择B/S模式和java技术总体功能模块运用自顶向下的分层思想。再然后就是实现系统并进行代码编写实现功能。论文的最后章节总结一下自己完成本论文和开发本项目的心得和总结。通过摄影跟拍预定管理系统将会使摄影跟拍预定各个方面的工作效率带来实质性的提升。
关键字B/S模式 java技术 摄影跟拍预定 软件架构
springboot摄影跟拍预定管理系统源码和论文317
演示视频 springboot摄影跟拍预定管理系统源码和论文 Abstract
First of all, the thesis clearly discusses the systematic research content at the very beginning. Secondly, the analysis of system requirements analysis, understand what to do, including business analysis and business process analysis and use case analysis, further clear system requirements. Then, on the basis of understanding the requirements of the system, we need to further design the system, mainly including software architecture pattern, overall functional modules and database design. The software architecture of the project chooses B/S mode and Java technology, and the overall functional modules adopt the top-down hierarchical idea. Then is the realization of the system and code writing to achieve the function. The last chapter of the paper summarizes the experience and summary of the completion of this paper and the development of this project. Through the photography booking management system will make photography booking all aspects of work efficiency to bring substantial improvement.
Key words: B/S mode Java technology photography following reservation software architecture 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.SheyingshiEntity;
import com.entity.view.SheyingshiView;import com.service.SheyingshiService;
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-04-23 22:30:24*/
RestController
RequestMapping(/sheyingshi)
public class SheyingshiController {Autowiredprivate SheyingshiService sheyingshiService;Autowiredprivate TokenService tokenService;/*** 登录*/IgnoreAuthRequestMapping(value /login)public R login(String username, String password, String captcha, HttpServletRequest request) {SheyingshiEntity user sheyingshiService.selectOne(new EntityWrapperSheyingshiEntity().eq(gonghao, username));if(usernull || !user.getMima().equals(password)) {return R.error(账号或密码不正确);}String token tokenService.generateToken(user.getId(), username,sheyingshi, 摄影师 );return R.ok().put(token, token);}/*** 注册*/IgnoreAuthRequestMapping(/register)public R register(RequestBody SheyingshiEntity sheyingshi){//ValidatorUtils.validateEntity(sheyingshi);SheyingshiEntity user sheyingshiService.selectOne(new EntityWrapperSheyingshiEntity().eq(gonghao, sheyingshi.getGonghao()));if(user!null) {return R.error(注册用户已存在);}Long uId new Date().getTime();sheyingshi.setId(uId);sheyingshiService.insert(sheyingshi);return R.ok();}/*** 退出*/RequestMapping(/logout)public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok(退出成功);}/*** 获取用户的session用户信息*/RequestMapping(/session)public R getCurrUser(HttpServletRequest request){Long id (Long)request.getSession().getAttribute(userId);SheyingshiEntity user sheyingshiService.selectById(id);return R.ok().put(data, user);}/*** 密码重置*/IgnoreAuthRequestMapping(value /resetPass)public R resetPass(String username, HttpServletRequest request){SheyingshiEntity user sheyingshiService.selectOne(new EntityWrapperSheyingshiEntity().eq(gonghao, username));if(usernull) {return R.error(账号不存在);}user.setMima(123456);sheyingshiService.updateById(user);return R.ok(密码已重置为123456);}/*** 后端列表*/RequestMapping(/page)public R page(RequestParam MapString, Object params,SheyingshiEntity sheyingshi,HttpServletRequest request){EntityWrapperSheyingshiEntity ew new EntityWrapperSheyingshiEntity();PageUtils page sheyingshiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, sheyingshi), params), params));return R.ok().put(data, page);}/*** 前端列表*/IgnoreAuthRequestMapping(/list)public R list(RequestParam MapString, Object params,SheyingshiEntity sheyingshi, HttpServletRequest request){EntityWrapperSheyingshiEntity ew new EntityWrapperSheyingshiEntity();PageUtils page sheyingshiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, sheyingshi), params), params));return R.ok().put(data, page);}/*** 列表*/RequestMapping(/lists)public R list( SheyingshiEntity sheyingshi){EntityWrapperSheyingshiEntity ew new EntityWrapperSheyingshiEntity();ew.allEq(MPUtil.allEQMapPre( sheyingshi, sheyingshi)); return R.ok().put(data, sheyingshiService.selectListView(ew));}/*** 查询*/RequestMapping(/query)public R query(SheyingshiEntity sheyingshi){EntityWrapper SheyingshiEntity ew new EntityWrapper SheyingshiEntity();ew.allEq(MPUtil.allEQMapPre( sheyingshi, sheyingshi)); SheyingshiView sheyingshiView sheyingshiService.selectView(ew);return R.ok(查询摄影师成功).put(data, sheyingshiView);}/*** 后端详情*/RequestMapping(/info/{id})public R info(PathVariable(id) Long id){SheyingshiEntity sheyingshi sheyingshiService.selectById(id);return R.ok().put(data, sheyingshi);}/*** 前端详情*/IgnoreAuthRequestMapping(/detail/{id})public R detail(PathVariable(id) Long id){SheyingshiEntity sheyingshi sheyingshiService.selectById(id);return R.ok().put(data, sheyingshi);}/*** 后端保存*/RequestMapping(/save)public R save(RequestBody SheyingshiEntity sheyingshi, HttpServletRequest request){sheyingshi.setId(new Date().getTime()new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(sheyingshi);SheyingshiEntity user sheyingshiService.selectOne(new EntityWrapperSheyingshiEntity().eq(gonghao, sheyingshi.getGonghao()));if(user!null) {return R.error(用户已存在);}sheyingshi.setId(new Date().getTime());sheyingshiService.insert(sheyingshi);return R.ok();}/*** 前端保存*/RequestMapping(/add)public R add(RequestBody SheyingshiEntity sheyingshi, HttpServletRequest request){sheyingshi.setId(new Date().getTime()new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(sheyingshi);SheyingshiEntity user sheyingshiService.selectOne(new EntityWrapperSheyingshiEntity().eq(gonghao, sheyingshi.getGonghao()));if(user!null) {return R.error(用户已存在);}sheyingshi.setId(new Date().getTime());sheyingshiService.insert(sheyingshi);return R.ok();}/*** 修改*/RequestMapping(/update)Transactionalpublic R update(RequestBody SheyingshiEntity sheyingshi, HttpServletRequest request){//ValidatorUtils.validateEntity(sheyingshi);sheyingshiService.updateById(sheyingshi);//全部更新return R.ok();}/*** 删除*/RequestMapping(/delete)public R delete(RequestBody Long[] ids){sheyingshiService.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 MapString, 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));}}WrapperSheyingshiEntity wrapper new EntityWrapperSheyingshiEntity();if(map.get(remindstart)!null) {wrapper.ge(columnName, map.get(remindstart));}if(map.get(remindend)!null) {wrapper.le(columnName, map.get(remindend));}int count sheyingshiService.selectCount(wrapper);return R.ok().put(count, count);}}package com.controller;import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import javax.servlet.http.HttpServletRequest;import org.apache.commons.lang3.StringUtils;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ResourceUtils;
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.annotation.IgnoreAuth;
import com.baidu.aip.face.AipFace;
import com.baidu.aip.face.MatchRequest;
import com.baidu.aip.util.Base64Util;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.ConfigEntity;
import com.service.CommonService;
import com.service.ConfigService;
import com.utils.BaiduUtil;
import com.utils.FileUtil;
import com.utils.R;
/*** 通用接口*/
RestController
public class CommonController{Autowiredprivate CommonService commonService;private static AipFace client null;Autowiredprivate ConfigService configService; /*** 获取table表中的column列表(联动接口)* param table* param column* return*/IgnoreAuthRequestMapping(/option/{tableName}/{columnName})public R getOption(PathVariable(tableName) String tableName, PathVariable(columnName) String columnName,String level,String parent) {MapString, Object params new HashMapString, Object();params.put(table, tableName);params.put(column, columnName);if(StringUtils.isNotBlank(level)) {params.put(level, level);}if(StringUtils.isNotBlank(parent)) {params.put(parent, parent);}ListString data commonService.getOption(params);return R.ok().put(data, data);}/*** 根据table中的column获取单条记录* param table* param column* return*/IgnoreAuthRequestMapping(/follow/{tableName}/{columnName})public R getFollowByOption(PathVariable(tableName) String tableName, PathVariable(columnName) String columnName, RequestParam String columnValue) {MapString, Object params new HashMapString, Object();params.put(table, tableName);params.put(column, columnName);params.put(columnValue, columnValue);MapString, Object result commonService.getFollowByOption(params);return R.ok().put(data, result);}/*** 修改table表的sfsh状态* param table* param map* return*/RequestMapping(/sh/{tableName})public R sh(PathVariable(tableName) String tableName, RequestBody MapString, Object map) {map.put(table, tableName);commonService.sh(map);return R.ok();}/*** 获取需要提醒的记录数* param tableName* param columnName* param type 1:数字 2:日期* param map* return*/IgnoreAuthRequestMapping(/remind/{tableName}/{columnName}/{type})public R remindCount(PathVariable(tableName) String tableName, PathVariable(columnName) String columnName, PathVariable(type) String type,RequestParam MapString, Object map) {map.put(table, tableName);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));}}int count commonService.remindCount(map);return R.ok().put(count, count);}/*** 单列求和*/IgnoreAuthRequestMapping(/cal/{tableName}/{columnName})public R cal(PathVariable(tableName) String tableName, PathVariable(columnName) String columnName) {MapString, Object params new HashMapString, Object();params.put(table, tableName);params.put(column, columnName);MapString, Object result commonService.selectCal(params);return R.ok().put(data, result);}/*** 分组统计*/IgnoreAuthRequestMapping(/group/{tableName}/{columnName})public R group(PathVariable(tableName) String tableName, PathVariable(columnName) String columnName) {MapString, Object params new HashMapString, Object();params.put(table, tableName);params.put(column, columnName);ListMapString, Object result commonService.selectGroup(params);SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd);for(MapString, Object m : result) {for(String k : m.keySet()) {if(m.get(k) instanceof Date) {m.put(k, sdf.format((Date)m.get(k)));}}}return R.ok().put(data, result);}/*** 按值统计*/IgnoreAuthRequestMapping(/value/{tableName}/{xColumnName}/{yColumnName})public R value(PathVariable(tableName) String tableName, PathVariable(yColumnName) String yColumnName, PathVariable(xColumnName) String xColumnName) {MapString, Object params new HashMapString, Object();params.put(table, tableName);params.put(xColumn, xColumnName);params.put(yColumn, yColumnName);ListMapString, Object result commonService.selectValue(params);SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd);for(MapString, Object m : result) {for(String k : m.keySet()) {if(m.get(k) instanceof Date) {m.put(k, sdf.format((Date)m.get(k)));}}}return R.ok().put(data, result);}/*** 按值统计时间统计类型*/IgnoreAuthRequestMapping(/value/{tableName}/{xColumnName}/{yColumnName}/{timeStatType})public R valueDay(PathVariable(tableName) String tableName, PathVariable(yColumnName) String yColumnName, PathVariable(xColumnName) String xColumnName, PathVariable(timeStatType) String timeStatType) {MapString, Object params new HashMapString, Object();params.put(table, tableName);params.put(xColumn, xColumnName);params.put(yColumn, yColumnName);params.put(timeStatType, timeStatType);ListMapString, Object result commonService.selectTimeStatValue(params);SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd);for(MapString, Object m : result) {for(String k : m.keySet()) {if(m.get(k) instanceof Date) {m.put(k, sdf.format((Date)m.get(k)));}}}return R.ok().put(data, result);}/*** 人脸比对* * param face1 人脸1* param face2 人脸2* return*/RequestMapping(/matchFace)IgnoreAuthpublic R matchFace(String face1, String face2,HttpServletRequest request) {if(clientnull) {/*String AppID configService.selectOne(new EntityWrapperConfigEntity().eq(name, AppID)).getValue();*/String APIKey configService.selectOne(new EntityWrapperConfigEntity().eq(name, APIKey)).getValue();String SecretKey configService.selectOne(new EntityWrapperConfigEntity().eq(name, SecretKey)).getValue();String token BaiduUtil.getAuth(APIKey, SecretKey);if(tokennull) {return R.error(请在配置管理中正确配置APIKey和SecretKey);}client new AipFace(null, APIKey, SecretKey);client.setConnectionTimeoutInMillis(2000);client.setSocketTimeoutInMillis(60000);}JSONObject res null;try {File path new File(ResourceUtils.getURL(classpath:static).getPath());if(!path.exists()) {path new File();}File upload new File(path.getAbsolutePath(),/upload/);File file1 new File(upload.getAbsolutePath()/face1);File file2 new File(upload.getAbsolutePath()/face2);String img1 Base64Util.encode(FileUtil.FileToByte(file1));String img2 Base64Util.encode(FileUtil.FileToByte(file2));MatchRequest req1 new MatchRequest(img1, BASE64);MatchRequest req2 new MatchRequest(img2, BASE64);ArrayListMatchRequest requests new ArrayListMatchRequest();requests.add(req1);requests.add(req2);res client.match(requests);System.out.println(res.get(result));} catch (FileNotFoundException e) {e.printStackTrace();return R.error(文件不存在);} catch (IOException e) {e.printStackTrace();} return R.ok().put(score, com.alibaba.fastjson.JSONObject.parse(res.getJSONObject(result).get(score).toString()));}
}