基于javaweb+mysql的springboot嘟嘟图片展览馆管理系统(java+springboot+springmvc+jpa+html+maven+mysql+redis)
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SpringBoot嘟嘟图片展览馆管理系统(java+springboot+springmvc+jpa+html+maven+mysql+redis)
一、项目运行 环境配置:
Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)
项目技术:
Springboot+ SpringMVC + JPA+ Jsp + Html+ JavaScript + JQuery + Ajax + maven等等
}
}
package com.example.springbootdemo.controller.hui;
/**
* 功能描述: 前台功能
* 作 者: wangzenghui
* 修改记录:
* <时间> <作者> <版本> <描述>
*
*/
log.info("delComments 方法出参: "+responseBo.getResMsg());
return responseBo;
}
/**
* 功能描述:举报评论
* 作者: wangzenghui
*/
@RequestMapping("/addComplains.do")
public ResponseBo addComplains(COMPLAINS complains){
ResponseBo responseBo=new ResponseBo();
log.info("进入 addComplains 方法");
try {
responseBo=testService.addComplains(complains);
} catch (Exception e) {
log.info("addComplains 方法出现异常");
e.printStackTrace();
}
log.info("addComplains 方法出参: "+responseBo.getResMsg());
return responseBo;
}
@RequestMapping(value = "/testToken.do")
public ResponseBo testToken(HttpServletRequest request){
ResponseBo responseBo=new ResponseBo();
String token = request.getHeader("accessToken");
log.info("testToken.do++++++++++++++++"+String.valueOf(TokenSign.verify(token)));
String username = TokenSign.getUsername(token);
String userid= TokenSign.getUserId(token);
String userpic=TokenSign.getUserPic(token);
USERS users=new USERS();
users.setPic(userpic);
users.setName(username);
users.setId(Integer.parseInt(userid));
responseBo.setResult(users);
return responseBo;
}
}
* 作者: wangzenghui
*/
ResponseBo getUserById(int userid) throws Exception;
/**
* 功能描述:通过名字模糊查询图片
* 作者: wangzenghui
*/
ResponseBo selectImgLikeName(String name) throws Exception;
/**
* 功能描述:多重条件查询图片
* 作者: wangzenghui
*/
ResponseBo selectImgLikeName2(List<String> names) throws Exception;
/**
* 功能描述:通过名字模糊查询待审核图片
* 作者: wangzenghui
*/
ResponseBo selectAudiImgLikeName(String name) throws Exception;
/**
* 功能描述:通过名字模糊查询评论
* 作者: wangzenghui
*/
ResponseBo selectCommentsLikeName(String content) throws Exception;
/**
* 功能描述:通过名字模糊查询用户
* 作者: wangzenghui
*/
ResponseBo selectUserLikeName(String name) throws Exception;
/**
* 功能描述:通过名字模糊查询封禁用户
* 作者: wangzenghui
* 功能描述:通过名字模糊查询图片
* 作者: wangzenghui
*/
ResponseBo selectImgLikeName(String name) throws Exception;
/**
* 功能描述:多重条件查询图片
* 作者: wangzenghui
*/
ResponseBo selectImgLikeName2(List<String> names) throws Exception;
/**
* 功能描述:通过名字模糊查询待审核图片
* 作者: wangzenghui
*/
ResponseBo selectAudiImgLikeName(String name) throws Exception;
/**
* 功能描述:通过名字模糊查询评论
* 作者: wangzenghui
*/
ResponseBo selectCommentsLikeName(String content) throws Exception;
/**
* 功能描述:通过名字模糊查询用户
* 作者: wangzenghui
*/
ResponseBo selectUserLikeName(String name) throws Exception;
/**
* 功能描述:通过名字模糊查询封禁用户
* 作者: wangzenghui
*/
ResponseBo selectBanUserLikeName(String name) throws Exception;
/**
* 功能描述:根据类型id获取图片
* 作者: wangzenghui
*/
ResponseBo getImgsByType(int typeid) throws Exception;
@Service
@Slf4j
public class TestServiceImpl implements TestService {
@Resource
USERSMapper usersMapper;
@Resource
IMAGESMapper imagesMapper;
@Resource
THUMBMapper thumbMapper;
@Resource
COLLECTSMapper collectsMapper;
@Resource
AUDITIMAGESMapper auditimagesMapper;
@Resource
ATTENTIONSMapper attentionsMapper;
@Resource
POINTSMapper pointsMapper;
@Resource
PURCHASEMapper purchaseMapper;
@Resource
DEPOSITSMapper depositsMapper;
@Resource
TAGSMapper tagsMapper;
@Resource
AUDITTAGSMapper audittagsMapper;
@Resource
/**
* 功能描述:解封用户
* 作者: wangzenghui
*/
ResponseBo unbanUser(int userid) throws Exception;
/**
* 功能描述:更新管理员信息
* 作者: wangzenghui
*/
ResponseBo update(HttpServletRequest request, MultipartFile file, String name,int adminid) throws Exception;
/**
* 功能描述:通过id删除图片
* 作者: wangzenghui
*/
ResponseBo deleteImgById(int imgid) throws Exception;
/**
* 功能描述:添加新类型
* 作者: wangzenghui
*/
ResponseBo addType(String name) throws Exception;
/**
* 功能描述:获得所有类型
* 作者: wangzenghui
*/
ResponseBo getTypes() throws Exception;
/**
* 功能描述:根据id获取类型
* 作者: wangzenghui
*/
ResponseBo getTypeByid(int typeid) throws Exception;
responseBo.setResMsg("查询失败");
return responseBo;
}
log.info("search方法结果 出参 result:" + result);
responseBo.setResMsg("查询成功");
responseBo.setResult(result);
return responseBo;
}
@Override
public ResponseBo selectUserLikeName(String name) throws Exception {
ResponseBo responseBo = new ResponseBo();
List result = usersMapper.selectLikeName(name);
if (result == null) {
log.info("search方法结果 无查询结果");
responseBo.setResMsg("查询失败");
return responseBo;
}
log.info("search方法结果 出参 result:" + result);
responseBo.setResMsg("查询成功");
responseBo.setResult(result);
return responseBo;
}
@Override
public ResponseBo selectBanUserLikeName(String name) throws Exception {
ResponseBo responseBo = new ResponseBo();
List result = usersMapper.selectBanLikeName(name);
if (result == null) {
log.info("search方法结果 无查询结果");
responseBo.setResMsg("查询失败");
return responseBo;
}
log.info("search方法结果 出参 result:" + result);
responseBo.setResMsg("查询成功");
responseBo.setResult(result);
return responseBo;
}
@Cacheable(value = "imgscache")
@Override
public ResponseBo getImgsByType(int typeid) throws Exception {
ResponseBo responseBo = new ResponseBo();
List result = imagesMapper.selectByType(typeid);
if (result == null) {
log.info("获取失败");
responseBo.setResMsg("获取失败");
return responseBo;
ArrayList<String> list = StringUtil.split(tags);
for (int i = 0; i < list.size(); i++) {
String tag = list.get(i);
int imgidNum = imgid;
int res = -1;
AUDITTAGS newTags = new AUDITTAGS();
newTags.setName(tag);
newTags.setImgid(imgidNum);
res = audittagsMapper.insert(newTags);
if (res == 0) {
responseBo.setResMsg("添加失败");
responseBo.setResult(i);
return responseBo;
}
responseBo.setResMsg("添加成功");
}
return responseBo;
}
@Cacheable(value = "tagscache")
@Override
public ResponseBo getTags(String imgid) throws Exception {
ResponseBo responseBo = new ResponseBo();
int imgidNum = Integer.parseInt(imgid);
List list = tagsMapper.selectByImgid(imgidNum);
int count = 0;
for (int i = 0; i < list.size(); i++) {
TAGS tags = (TAGS) list.get(i);
count = tagsMapper.selectCountByTag(tags.getName());
tags.setCount(count);
}
responseBo.setResult(list);
responseBo.setResMsg("获取成功");
return responseBo;
}
@Caching(evict = {@CacheEvict(value = "tagscache", allEntries = true)})
@Override
public ResponseBo delTags(int tagid) throws Exception {
ResponseBo responseBo = new ResponseBo();
int res = tagsMapper.deleteByPrimaryKey(tagid);
if (res == 0) {
responseBo.setResMsg("删除失败");
/**
* 功能描述:修改用户信息
* 作者: wangzenghui
*/
@RequestMapping(value = "/update.do",method = {RequestMethod.POST, RequestMethod.GET})
public ResponseBo update(HttpServletRequest request){
ResponseBo responseBo=new ResponseBo();
String name=request.getParameter("name");
StandardMultipartHttpServletRequest thisRequest = (StandardMultipartHttpServletRequest )request;
MultipartFile file = thisRequest.getFile("pic");
try {
responseBo=testService.update(request,file,name);
} catch (Exception e) {
log.error("修改出错",e);
responseBo.setResMsg("修改失败");
}
log.info("TestController===>update方法 出参:responseBo="+responseBo);
return responseBo;
}
/**
* 功能描述:修改密码
* 作者: wangzenghui
*/
@RequestMapping(value = "/updatePass.do",method = {RequestMethod.POST, RequestMethod.GET})
public ResponseBo updatePass(HttpServletRequest request){
ResponseBo responseBo=new ResponseBo();
String pass=request.getParameter("pass");
String newpass=request.getParameter("newpass");
String user=request.getParameter("userid");
int userid=Integer.parseInt(user);
try {
responseBo=testService.updatePass(pass,newpass,userid);
} catch (Exception e) {
log.error("修改出错",e);
responseBo.setResMsg("修改失败");
}
log.info("TestController===>updatePass方法 出参:responseBo="+responseBo);
return responseBo;
}
/**
* 功能描述:点赞
* 作者: wangzenghui
*/
ResponseBo getFans(int atid) throws Exception;
/**
* 功能描述:根据用户id获得关注用户的信息
* 作者: wangzenghui
*/
ResponseBo getAt(int fanid) throws Exception;
/**
* 功能描述:关注用户
* 作者: wangzenghui
*/
ResponseBo attention(int atid, int fanid) throws Exception;
/**
* 功能描述:取消关注
* 作者: wangzenghui
*/
ResponseBo unattention(int atid, int fanid) throws Exception;
/**
* 功能描述:注销
* 作者: wangzenghui
*/
ResponseBo logout(HttpServletRequest request) throws Exception;
/**
* 功能描述:获取用户积分
* 作者: wangzenghui
*/
ResponseBo getPoints(int uid) throws Exception;
/**
* 功能描述:购买图片
* 作者: wangzenghui
* 功能描述:取消关注
* 作者: wangzenghui
*/
@RequestMapping(value = "/unattention.do",method = {RequestMethod.POST, RequestMethod.GET})
public ResponseBo unattention(HttpServletRequest request){
ResponseBo responseBo=new ResponseBo();
try {
String at=request.getParameter("atid");
String fan=request.getParameter("fanid");
int atid=Integer.parseInt(at);
int fanid=Integer.parseInt(fan);
responseBo=testService.unattention(atid,fanid);
} catch (Exception e) {
log.error("取消关注失败",e);
responseBo.setResMsg("取消关注失败");
}
return responseBo;
}
/**
* 功能描述:注销
* 作者: wangzenghui
*/
@RequestMapping(value = "/logout.do",method = {RequestMethod.POST, RequestMethod.GET})
public ResponseBo logout(HttpServletRequest request){
ResponseBo responseBo=new ResponseBo();
try {
responseBo=testService.logout(request);
} catch (Exception e) {
log.error("注销失败",e);
responseBo.setResMsg("注销失败");
}
return responseBo;
}
/**
* 功能描述:获取用户积分
* 作者: wangzenghui
*/
@RequestMapping(value = "/getPoints.do",method = {RequestMethod.POST, RequestMethod.GET})
public ResponseBo getPoints(HttpServletRequest request){
ResponseBo responseBo=new ResponseBo();
try {
String uid=request.getParameter("userid");
responseBo.setResMsg("修改失败");
return responseBo;
}
log.info("updateImg 方法 出参 result:" + images);
responseBo.setResMsg("修改成功");
return responseBo;
}
@Override
public ResponseBo getFans(int atid) throws Exception {
ResponseBo responseBo = new ResponseBo();
List images = attentionsMapper.selectFans(atid);
if (images == null) {
log.info("获取失败");
responseBo.setResMsg("获取失败");
return responseBo;
}
log.info("getFans 方法 出参 result:" + images);
responseBo.setResMsg("获取成功");
responseBo.setResult(images);
return responseBo;
}
@Override
public ResponseBo getAt(int fanid) throws Exception {
ResponseBo responseBo = new ResponseBo();
List images = attentionsMapper.selectAt(fanid);
if (images == null) {
log.info("获取失败");
responseBo.setResMsg("获取失败");
return responseBo;
}
log.info("getAt 方法 出参 result:" + images);
responseBo.setResMsg("获取成功");
responseBo.setResult(images);
return responseBo;
}
@Override
public ResponseBo attention(int atid, int fanid) throws Exception {
ResponseBo responseBo = new ResponseBo();
ATTENTIONS attentions = new ATTENTIONS();
return responseBo;
}
/**
* 功能描述:获取所有类型
* 作者: wangzenghui
*/
@RequestMapping(value = "/getTypes.do",method = {RequestMethod.POST, RequestMethod.GET})
public ResponseBo getTypes(HttpServletRequest request){
ResponseBo responseBo=new ResponseBo();
try {
responseBo=adminService.getTypes();
} catch (Exception e) {
log.error("查询失败",e);
responseBo.setResMsg("查询失败");
}
log.info("AdminController===>getTypes 方法 出参:responseBo="+responseBo);
return responseBo;
}
/**
* 功能描述:根据id获取类型
* 作者: wangzenghui
*/
@RequestMapping(value = "/getTypeById.do",method = {RequestMethod.POST, RequestMethod.GET})
public ResponseBo getTypeById(HttpServletRequest request){
ResponseBo responseBo=new ResponseBo();
try {
String type=request.getParameter("typeid");
int typeid=Integer.parseInt(type);
responseBo=adminService.getTypeByid(typeid);
} catch (Exception e) {
log.error("查询失败",e);
responseBo.setResMsg("查询失败");
}
log.info("AdminController===>getTypeById 方法 出参:responseBo="+responseBo);
return responseBo;
}
}
package com.example.springbootdemo.filter;
@Component
public class LoginInterceptor implements HandlerInterceptor {
// 在请求处理之前调用,只有返回true才会执行要执行的请求
@Override
public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
httpServletResponse.setCharacterEncoding("UTF-8");
String token = httpServletRequest.getHeader("accessToken");
if (null == token) {
Map<String, Object> map = new HashMap<>();
map.put("data", "token is null");
map.put("code", "401");
httpServletResponse.getWriter().write(new JSONObject(map).toString());
return false;
} else {
boolean result = TokenSign.verify(token);
if (result) {
//更新存储的token信息
TokenConstant.updateTokenMap(token);
return true;
}
Map<String, Object> map = new HashMap<>();
if (result == null) {
log.info("获取失败");
responseBo.setResMsg("获取失败");
return responseBo;
}
log.info("selectAllOrderByThumb 方法 出参 result:" + result);
responseBo.setResMsg("获取成功");
responseBo.setResult(result);
return responseBo;
}
@Override
public ResponseBo getImgByUser(int userid) throws Exception {
ResponseBo responseBo = new ResponseBo();
List images = imagesMapper.selectByUser(userid);
if (images == null) {
log.info("获取失败");
responseBo.setResMsg("获取失败");
return responseBo;
}
log.info("getImgByUser 方法 出参 result:" + images);
responseBo.setResMsg("获取成功");
responseBo.setResult(images);
return responseBo;
}
@Caching(evict = {@CacheEvict(value = "imgscache", allEntries = true)})
@Override
public ResponseBo updateImg(IMAGES images) throws Exception {
ResponseBo responseBo = new ResponseBo();
IMAGES imgDB = imagesMapper.selectByPrimaryKey(images.getId());
imgDB.setIntro(images.getIntro());
imgDB.setTitle(images.getTitle());
imgDB.setTypeid(images.getTypeid());
int res = imagesMapper.updateByPrimaryKeySelective(imgDB);
if (res == 0) {
log.info("修改失败");
responseBo.setResMsg("修改失败");
return responseBo;
}
log.info("updateImg 方法 出参 result:" + images);
responseBo.setResMsg("修改成功");
return responseBo;
}
@Override
public ResponseBo getFans(int atid) throws Exception {
ResponseBo responseBo = new ResponseBo();
List images = attentionsMapper.selectFans(atid);
if (images == null) {
log.info("获取失败");
responseBo.setResMsg("获取失败");
return responseBo;
}
@Override
public ResponseBo getImgsOnCollect(int userid) throws Exception {
ResponseBo responseBo = new ResponseBo();
List result = new ArrayList();
result = imagesMapper.selectCollect(userid);
if (result.size() == 0) {
responseBo.setResMsg("查询失败");
return responseBo;
}
responseBo.setResMsg("查询成功");
responseBo.setResult(result);
return responseBo;
}
@Cacheable(value = "thumbandcolcache")
@Override
public ResponseBo checkThumbAndCollect(int imgid, int userid) throws Exception {
ResponseBo responseBo = new ResponseBo();
THUMB thumb = thumbMapper.selectByImgAndUser(imgid, userid);
COLLECTS collects = collectsMapper.selectByImgAndUser(imgid, userid);
if (thumb != null && collects != null) {
responseBo.setResMsg("已点赞,已收藏");
return responseBo;
}
if (thumb != null && collects == null) {
responseBo.setResMsg("已点赞,未收藏");
return responseBo;
}
if (thumb == null && collects != null) {
responseBo.setResMsg("未点赞,已收藏");
return responseBo;
}
responseBo.setResMsg("未点赞,未收藏");
return responseBo;
}
@Override
public ResponseBo getImgById(int imgid) throws Exception {
ResponseBo responseBo = new ResponseBo();
IMAGES images = imagesMapper.selectByPrimaryKey(imgid);
if (images == null) {
responseBo.setResMsg("查询失败");
return responseBo;
}
responseBo.setResMsg("查询成功");
responseBo.setResult(images);
return responseBo;
}
@Override
public ResponseBo getUserById(int userid) throws Exception {
*/
@RequestMapping("/getComments.do")
public ResponseBo getComments(){
ResponseBo responseBo=new ResponseBo();
log.info("进入 getComments 方法");
try {
responseBo=adminService.getComments();
} catch (Exception e) {
log.info("getComments 方法出现异常");
e.printStackTrace();
}
return responseBo;
}
/**
* 功能描述:获取举报列表
* 作者: wangzenghui
*/
@RequestMapping("/getComplains.do")
public ResponseBo getComplains(){
ResponseBo responseBo=new ResponseBo();
log.info("进入 getComplains 方法");
try {
responseBo=adminService.getComplains();
} catch (Exception e) {
log.info("getComplains 方法出现异常");
e.printStackTrace();
}
return responseBo;
}
/**
* 功能描述:处理举报评论
* 作者: wangzenghui
*/
@RequestMapping("/delComplains.do")
public ResponseBo delComplains(int compid){
ResponseBo responseBo=new ResponseBo();
String userid=request.getParameter("userid");
int userid2=Integer.parseInt(userid);
responseBo=testService.getUserById(userid2);
} catch (Exception e) {
log.error("查询失败",e);
responseBo.setResMsg("查询失败");
}
return responseBo;
}
/**
* 功能描述:搜索图片
* 作者: wangzenghui
*/
@RequestMapping(value = "/search.do",method = {RequestMethod.POST, RequestMethod.GET})
public ResponseBo search(HttpServletRequest request){
ResponseBo responseBo=new ResponseBo();
try {
String name=request.getParameter("name");
String type=request.getParameter("type");
log.info("进入search方法,入参 name:"+name);
ArrayList<String> names= StringUtil.split(name);
if (names.size()>1){
responseBo=testService.selectImgLikeName2(names);
}else {
if (type == null || type.equals("图片"))
responseBo = testService.selectImgLikeName(name);
else if (type.equals("用户"))
responseBo = testService.selectUserLikeName(name);
else if (type.equals("封禁用户"))
responseBo = testService.selectBanUserLikeName(name);
else if (type.equals("待审核图片"))
responseBo = testService.selectAudiImgLikeName(name);
else if (type.equals("评论"))
responseBo = testService.selectCommentsLikeName(name);
}
} catch (Exception e) {
log.error("查询失败",e);
responseBo.setResMsg("查询失败");
}
return responseBo;
}
/**
}
return responseBo;
}
/**
* 功能描述:获取评论
* 作者: wangzenghui
*/
@RequestMapping("/getComments.do")
public ResponseBo getComments(){
ResponseBo responseBo=new ResponseBo();
log.info("进入 getComments 方法");
try {
responseBo=adminService.getComments();
} catch (Exception e) {
log.info("getComments 方法出现异常");
e.printStackTrace();
}
return responseBo;
}
/**
* 功能描述:获取举报列表
* 作者: wangzenghui
*/
@RequestMapping("/getComplains.do")
public ResponseBo getComplains(){
ResponseBo responseBo=new ResponseBo();
log.info("进入 getComplains 方法");
try {
responseBo=adminService.getComplains();
} catch (Exception e) {
log.info("getComplains 方法出现异常");
e.printStackTrace();
}
return responseBo;
}
/**
* 功能描述:处理举报评论
* 作者: wangzenghui
*/
@RequestMapping("/delComplains.do")
public ResponseBo delComplains(int compid){
ResponseBo responseBo=new ResponseBo();
log.info("进入 delComplains 方法");
try {
responseBo=adminService.delComplains(compid);
@RequestMapping(value = "/hello.do",method = RequestMethod.GET)
public String hello(){
return "Hello World";
}
/**
* 功能描述:用户注册
* 作者: wangzenghui
*/
@RequestMapping(value = "/reg.do",method = RequestMethod.GET)
public ResponseBo reg(HttpServletRequest request){
log.info("hui/TestController======>reg 进入方法");
ResponseBo responseBo=new ResponseBo();
USERS users=new USERS();
try {
String name=request.getParameter("name");
String password=request.getParameter("password");
users.setName(name);
users.setPassword(password);
log.info("hui/TestController======>reg 进入接口,入参:person=",users);
responseBo=testService.reg(users);
} catch (Exception e) {
log.error("hui/TestController======>reg 方法出错:{}",e);
responseBo.setResMsg("注册失败");
responseBo.setResult(e);
}
return responseBo;
}
/**
* 功能描述:用户登录
* 作者: wangzenghui
*/
@RequestMapping(value = "/login.do",method = RequestMethod.GET)
public ResponseBo login(HttpServletRequest request){
log.info("hui/TestController======>login 进入方法");
ResponseBo responseBo=new ResponseBo();
USERS users=new USERS();
String token=request.getHeader("accessToken");
if (token!=null){
if(TokenSign.verify(token)){
responseBo.setResMsg("已登录");
users.setId(Integer.parseInt(TokenSign.getUserId(token)));
users.setName(TokenSign.getUsername(token));
users.setPic(TokenSign.getUserPic(token));
responseBo.setResult(users);
return responseBo;
}else{
}
responseBo.setResMsg("查询成功");
responseBo.setResult(result);
return responseBo;
}
@Caching(evict = {@CacheEvict(value = "commentscache", allEntries = true)})
@Override
public ResponseBo update(HttpServletRequest request, MultipartFile file, String name) throws Exception {
ResponseBo responseBo = new ResponseBo();
// USERS users= (USERS) request.getSession().getAttribute("users");
USERS selUser;
selUser = usersMapper.selectByName(name);
if (selUser != null) {
responseBo.setResMsg("用户名已被注册,请更换用户名");
return responseBo;
}
String token = request.getHeader("accessToken");
USERS users = new USERS();
users.setId(Integer.parseInt(TokenSign.getUserId(token)));
users.setName(TokenSign.getUsername(token));
users.setPic(TokenSign.getUserPic(token));
String fileNames = "";
String newName = users.getPic();
// log.info(paths+"/src/main/resources/static/images/"+users.getPic());
if (file != null) {
if (!users.getPic().equals("defaultPic.jpg")) {
File oriPic = new File(imageDir + "/" + users.getPic());
log.info("删除原头像");
//oriPic.delete();
}
fileNames = file.getOriginalFilename();//这个fileNames是上传的文件名(不是地址)
int split = fileNames.lastIndexOf(".");
String suffix = fileNames.substring(split + 1, fileNames.length());//文件后缀,用于判断上传的文件是否是合法的
//判断文件类型,因为我这边是图片,所以只设置三种合法格式
if (suffix.equals("jpg") || suffix.equals("png") || suffix.equals("gif")) {
//正确的类型,保存文件
if (admins == null) {
responseBo.setResMsg("账号不存在");
return responseBo;
}
if (!admins.getPassword().equals(password)) {
responseBo.setResMsg("密码错误");
return responseBo;
}
responseBo.setResMsg("登录成功");
String token = TokenSign.sign(admins.getName(), String.valueOf(admins.getId()), admins.getPic());
responseBo.setAccessToken(token);
responseBo.setResult(admins);
} catch (Exception e) {
responseBo.setResMsg("登录失败");
log.error("错误" + e);
return responseBo;
}
return responseBo;
}
@Override
public ResponseBo getUsers() throws Exception {
ResponseBo responseBo = new ResponseBo();
try {
List result = usersMapper.selectAll();
if (result == null) {
responseBo.setResMsg("没有记录");
return responseBo;
}
responseBo.setResMsg("查询成功");
responseBo.setResult(result);
} catch (Exception e) {
responseBo.setResMsg("查询出错");
return responseBo;
}
return responseBo;
}
@Caching(evict = {@CacheEvict(value = "commentscache", allEntries = true)})
@Override
public ResponseBo deleteUserById(int userid) throws Exception {
ResponseBo responseBo = new ResponseBo();
commentsMapper.deleteByUserId(userid);
int res = usersMapper.deleteByPrimaryKey(userid);
if (res == 0) {
@Override
public ResponseBo unattention(int atid, int fanid) throws Exception {
ResponseBo responseBo = new ResponseBo();
int res = 0;
res = attentionsMapper.deleteByAtAndUser(atid, fanid);
if (res == 0) {
log.info("取消关注失败");
responseBo.setResMsg("取消关注失败");
return responseBo;
}
log.info("unattention 方法 出参 res:" + res);
responseBo.setResMsg("取消关注成功");
return responseBo;
}
@Override
public ResponseBo logout(HttpServletRequest request) throws Exception {
ResponseBo responseBo = new ResponseBo();
responseBo.setResMsg("注销成功");
// request.getSession().invalidate();
return responseBo;
}
@Cacheable(value = "pointscache")
@Override
public ResponseBo getPoints(int uid) throws Exception {
ResponseBo responseBo = new ResponseBo();
POINTS points = pointsMapper.selectByUid(uid);
if (points == null) {
log.info("获取失败");
responseBo.setResMsg("获取失败");
return responseBo;
}
log.info("getPoints 方法 出参 result:" + points);
responseBo.setResMsg("获取成功");
responseBo.setResult(points);
return responseBo;
}
@Caching(evict = {@CacheEvict(value = "pointscache", allEntries = true)})
@Override
public ResponseBo purchaseImg(int uid, int imgid) throws Exception {
ResponseBo responseBo = new ResponseBo();
PURCHASE purchase = new PURCHASE();
purchase.setImgid(imgid);
purchase.setUid(uid);
PURCHASE purchase1 = purchaseMapper.selectByUserAndImg(uid, imgid);
if (purchase1 != null) {
responseBo.setResMsg("已购买,不用再次购买");
}
if (!admins.getPassword().equals(password)) {
responseBo.setResMsg("密码错误");
return responseBo;
}
responseBo.setResMsg("登录成功");
String token = TokenSign.sign(admins.getName(), String.valueOf(admins.getId()), admins.getPic());
responseBo.setAccessToken(token);
responseBo.setResult(admins);
} catch (Exception e) {
responseBo.setResMsg("登录失败");
log.error("错误" + e);
return responseBo;
}
return responseBo;
}
@Override
public ResponseBo getUsers() throws Exception {
ResponseBo responseBo = new ResponseBo();
try {
List result = usersMapper.selectAll();
if (result == null) {
responseBo.setResMsg("没有记录");
return responseBo;
}
responseBo.setResMsg("查询成功");
responseBo.setResult(result);
} catch (Exception e) {
responseBo.setResMsg("查询出错");
return responseBo;
}
return responseBo;
}
@Caching(evict = {@CacheEvict(value = "commentscache", allEntries = true)})
@Override
public ResponseBo deleteUserById(int userid) throws Exception {
ResponseBo responseBo = new ResponseBo();
commentsMapper.deleteByUserId(userid);
int res = usersMapper.deleteByPrimaryKey(userid);
/**
* 功能描述:检查图片是否收藏过
* 作者: wangzenghui
*/
ResponseBo checkThumbAndCollect(int imgid, int userid) throws Exception;
/**
* 功能描述:通过id获取图片
* 作者: wangzenghui
*/
ResponseBo getImgById(int imgid) throws Exception;
/**
* 功能描述:通过id获取用户
* 作者: wangzenghui
*/
ResponseBo getUserById(int userid) throws Exception;
/**
* 功能描述:通过名字模糊查询图片
* 作者: wangzenghui
*/
ResponseBo selectImgLikeName(String name) throws Exception;
/**
* 功能描述:多重条件查询图片
* 作者: wangzenghui
*/
ResponseBo selectImgLikeName2(List<String> names) throws Exception;
/**
* 功能描述:通过名字模糊查询待审核图片
* 作者: wangzenghui
*/
}
/**
* 功能描述:删除标签
* 作者: wangzenghui
*/
@RequestMapping("/delTags.do")
public ResponseBo delTags(int tagid){
ResponseBo responseBo=new ResponseBo();
log.info("进入 delTags 方法");
try {
responseBo=testService.delTags(tagid);
} catch (Exception e) {
log.info("delTags 方法出现异常");
e.printStackTrace();
}
log.info("delTags 方法出参: "+responseBo.getResMsg());
return responseBo;
}
/**
* 功能描述:添加评论
* 作者: wangzenghui
*/
@RequestMapping("/addComments.do")
public ResponseBo addComments(COMMENTS comments){
ResponseBo responseBo=new ResponseBo();
log.info("进入 addComments 方法");
try {
responseBo=testService.addComments(comments,comments.getImgid());
} catch (Exception e) {
log.info("addComments 方法出现异常");
e.printStackTrace();
}
log.info("addComments 方法出参: "+responseBo.getResMsg());
return responseBo;