基于javaweb和mysql的springboot嘟嘟图片展览馆管理系统(java+springboot+springmvc+jpa+html+maven+mysql)
·
基于javaweb和mysql的springboot嘟嘟图片展览馆管理系统(java+springboot+springmvc+jpa+html+maven+mysql)
私信源码获取及调试交流
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SpringBoot嘟嘟图片展览馆管理系统(java+springboot+springmvc+jpa+html+maven+mysql)
前台用户:
user1 123456
user2 123456
后台管理员:
admin 123456
一、项目运行 环境配置:
Jdk1.8 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)
项目技术:
Springboot+ SpringMVC + JPA+ Jsp + Html+ JavaScript + JQuery + Ajax + maven等等
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;
}
log.info("getImgsByType方法结果 出参 result:" + result);
responseBo.setResMsg("查询成功");
responseBo.setResult(result);
return responseBo;
}
responseBo.setResMsg("图片类型不支持");
return responseBo;
}
}
admins.setPic(newName);
if (name.equals(""))
name = admins.getName();
admins.setName(name);
int res = adminsMapper.updateByPrimaryKeySelective(admins);
responseBo.setResult(admins);
if (res == 1)
responseBo.setResMsg("上传成功");
else
responseBo.setResMsg("上传失败");
String token = TokenSign.sign(admins.getName(), String.valueOf(admins.getId()), admins.getPic());
responseBo.setAccessToken(token);
return responseBo;
}
@Caching(evict = {@CacheEvict(value = "imgscache", allEntries = true), @CacheEvict(value = "commentscache", allEntries = true)})
@Override
public ResponseBo deleteImgById(int imgid) throws Exception {
ResponseBo responseBo = new ResponseBo();
int res = imagesMapper.deleteByPrimaryKey(imgid);
collectsMapper.deleteByImg(imgid);
thumbMapper.deleteByImg(imgid);
purchaseMapper.deleteByImg(imgid);
tagsMapper.deleteByImgid(imgid);
commentsMapper.deleteByImgid(imgid);
if (res == 0) {
responseBo.setResMsg("删除失败");
return responseBo;
}
responseBo.setResMsg("删除成功");
return responseBo;
}
@Override
public ResponseBo addType(String name) throws Exception {
ResponseBo responseBo = new ResponseBo();
TYPES typeDB = typesMapper.selectByName(name);
if (typeDB != null) {
responseBo.setResMsg("类型已存在");
return responseBo;
}
TYPES types = new TYPES();
types.setName(name);
int res = typesMapper.insert(types);
if (res == 1) {
responseBo.setResMsg("添加成功");
return 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
*/
@RequestMapping(value = "/thumb.do",method = {RequestMethod.POST, RequestMethod.GET})
public ResponseBo thumb(HttpServletRequest request){
ResponseBo responseBo=new ResponseBo();
String imgid=request.getParameter("imgid");
String userid=request.getParameter("userid");
int imgid2=Integer.parseInt(imgid);
int userid2=Integer.parseInt(userid);
try {
responseBo=testService.thumb(imgid2,userid2);
} catch (Exception e) {
log.error("点赞失败",e);
responseBo.setResMsg("点赞失败");
}
return responseBo;
}
/**
* 功能描述:收藏图片
* 作者: wangzenghui
*/
@RequestMapping(value = "/collect.do",method = {RequestMethod.POST, RequestMethod.GET})
public ResponseBo collect(HttpServletRequest request){
ResponseBo responseBo=new ResponseBo();
log.error("检查失败",e);
responseBo.setResMsg("检查失败");
}
return responseBo;
}
/**
* 功能描述:获取已购买的图片
* 作者: wangzenghui
*/
@RequestMapping(value = "/getImgPurchase.do",method = {RequestMethod.POST, RequestMethod.GET})
public ResponseBo getImgPurchase(HttpServletRequest request){
ResponseBo responseBo=new ResponseBo();
log.info("进入 getImgPurchase 方法");
try {
String uid=request.getParameter("userid");
int uid1=Integer.parseInt(uid);
responseBo=testService.getImgPurchase(uid1);
} catch (Exception e) {
log.error("获取失败",e);
responseBo.setResMsg("获取失败");
}
return responseBo;
}
/**
* 功能描述:充值
* 作者: wangzenghui
*/
@RequestMapping("/deposit.do")
public ResponseBo deposit(DEPOSITS deposits){
ResponseBo responseBo=new ResponseBo();
log.info("进入 deposit 方法");
try {
responseBo=testService.deposit(deposits);
} catch (Exception e) {
@RequestMapping(value = "/upload.do",method = {RequestMethod.POST, RequestMethod.GET})
public ResponseBo upload(HttpServletRequest request){
ResponseBo responseBo=new ResponseBo();
ResponseBo responseBoTag=new ResponseBo();
try {
String title=request.getParameter("title");
String intro=request.getParameter("intro");
String type=request.getParameter("type");
String tags=request.getParameter("tags");
int typeid=Integer.parseInt(type);
// log.info("type:"+typeid);
String token=request.getHeader("accessToken");
String userId = TokenSign.getUserId(token);
StandardMultipartHttpServletRequest thisRequest = (StandardMultipartHttpServletRequest )request;
MultipartFile file = thisRequest.getFile("pic");
responseBo=testService.upload(file,title,intro,typeid,Integer.parseInt(userId));
int imgid= (int) responseBo.getResult();
responseBoTag=testService.addAuditTags(imgid,tags);
} catch (Exception e) {
log.error("上传出错",e);
responseBo.setResMsg("上传失败");
return responseBo;
}
return responseBo;
}
/**
* 功能描述:获取所有图片
* 作者: wangzenghui
*/
@RequestMapping(value = "/getImgs.do",method = {RequestMethod.POST, RequestMethod.GET})
public ResponseBo getImg(HttpServletRequest request){
ResponseBo responseBo=new ResponseBo();
try {
responseBo=testService.getImgs();
} catch (Exception e) {
log.error("查询出错",e);
responseBo.setResMsg("查询失败");
}
return responseBo;
}
/**
* 功能描述:充值
* 作者: wangzenghui
*/
@RequestMapping("/deposit.do")
public ResponseBo deposit(DEPOSITS deposits){
ResponseBo responseBo=new ResponseBo();
log.info("进入 deposit 方法");
try {
responseBo=testService.deposit(deposits);
} catch (Exception e) {
log.info("deposit 方法出现异常");
e.printStackTrace();
}
log.info("deposit 方法出参"+responseBo.getResMsg());
return responseBo;
}
/**
* 功能描述:添加标签
* 作者: wangzenghui
*/
@RequestMapping("/addTags.do")
public ResponseBo addTags(int imgid,String tags){
ResponseBo responseBo=new ResponseBo();
log.info("进入 addTags 方法");
try {
responseBo=testService.addTags(imgid,tags);
} catch (Exception e) {
log.info("addTags 方法出现异常");
e.printStackTrace();
}
log.info("addTags 方法出参"+responseBo.getResMsg());
return responseBo;
}
/**
* 功能描述:获取标签
* 作者: wangzenghui
*/
@RequestMapping("/getTags.do")
public ResponseBo getTags(String imgid){
ResponseBo responseBo=new ResponseBo();
log.info("进入 getTags 方法");
try {
res1 = auditimagesMapper.deleteByPrimaryKey(imgid);
audittagsMapper.deleteByImgId(imgid);
if (res1 == 0) {
responseBo.setResMsg("审核失败");
return responseBo;
}
responseBo.setResMsg("审核成功");
return responseBo;
}
@Override
public ResponseBo getDeposits() throws Exception {
ResponseBo responseBo = new ResponseBo();
List list = depositsMapper.selectAll();
if (list == null) {
responseBo.setResMsg("获取失败");
return responseBo;
}
responseBo.setResMsg("获取成功");
responseBo.setResult(list);
return responseBo;
}
@Override
public ResponseBo addPoint(POINTS points) throws Exception {
int id = points.getId();//deposits表id
ResponseBo responseBo = new ResponseBo();
POINTS selPoint = pointsMapper.selectByUid(points.getUid());
points.setId(selPoint.getId());
points.setPoint(selPoint.getPoint() + points.getPoint());
int res = pointsMapper.updateByPrimaryKey(points);
depositsMapper.deleteByPrimaryKey(id);
if (res == 0) {
responseBo.setResMsg("添加失败");
return responseBo;
}
responseBo.setResMsg("添加成功");
return responseBo;
}
@Cacheable(value = "commentscache")
@Override
public ResponseBo getComments() throws Exception {
log.info("后台评论没有读缓存");
ResponseBo responseBo = new ResponseBo();
List list = commentsMapper.selectAll();
if (list == null) {
responseBo.setResMsg("获取失败");
return responseBo;
}
/**
* 功能描述: 前台功能
* 作 者: wangzenghui
* 修改记录:
* <时间> <作者> <版本> <描述>
*
*/
@RestController
@RequestMapping("/hui/TestController")
@Slf4j
public class TestController {
@Autowired
TestService testService;
@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);
@Override
public ResponseBo deleteType(int typeid) throws Exception {
ResponseBo responseBo = new ResponseBo();
int res = 0;
List result = imagesMapper.selectByType(typeid);
if (result != null && result.size() > 0) {
responseBo.setResMsg("删除失败,该类型还有图片");
return responseBo;
}
res = typesMapper.deleteByPrimaryKey(typeid);
if (res == 0) {
responseBo.setResMsg("删除失败");
return responseBo;
}
responseBo.setResMsg("删除成功");
return responseBo;
}
@Override
public ResponseBo getAuditImgs() throws Exception {
ResponseBo responseBo = new ResponseBo();
List result = auditimagesMapper.selectAll();
if (result == null) {
responseBo.setResMsg("查询失败");
return responseBo;
}
responseBo.setResMsg("查询成功");
responseBo.setResult(result);
return responseBo;
}
@Caching(evict = {@CacheEvict(value = "imgscache", allEntries = true)})
@Override
public ResponseBo auditImg(int imgid) throws Exception {
ResponseBo responseBo = new ResponseBo();
int res1, res2 = 0;
AUDITIMAGES auditimages = auditimagesMapper.selectByPrimaryKey(imgid);
List list = audittagsMapper.selectByImgid(imgid);
IMAGES images = new IMAGES();
images.setTypeid(auditimages.getTypeid());
images.setUserid(auditimages.getUserid());
images.setIntro(auditimages.getIntro());
images.setTitle(auditimages.getTitle());
@Override
public ResponseBo getTypes() throws Exception {
ResponseBo responseBo = new ResponseBo();
List result = typesMapper.selectAll();
if (result == null) {
responseBo.setResMsg("查询失败");
return responseBo;
}
responseBo.setResMsg("查询成功");
responseBo.setResult(result);
return responseBo;
}
@Override
public ResponseBo getTypeByid(int typeid) throws Exception {
ResponseBo responseBo = new ResponseBo();
TYPES types = typesMapper.selectByPrimaryKey(typeid);
if (types == null) {
responseBo.setResMsg("查询失败");
return responseBo;
}
responseBo.setResMsg("查询成功");
responseBo.setResult(types);
return responseBo;
}
@Override
public ResponseBo updateType(int typeid, String typename) throws Exception {
ResponseBo responseBo = new ResponseBo();
int res = 0;
TYPES newtypes = new TYPES();
newtypes.setId(typeid);
newtypes.setName(typename);
res = typesMapper.updateByPrimaryKey(newtypes);
if (res == 0) {
responseBo.setResMsg("更新失败");
return responseBo;
}
responseBo.setResMsg("更新成功");
return responseBo;
}
@Override
public ResponseBo deleteType(int typeid) throws Exception {
ResponseBo responseBo = new ResponseBo();
/**
* 功能描述:检测图片是否被当前用户点赞或收藏过
* 作者: wangzenghui
*/
@RequestMapping(value = "/checkThumbAndCollect.do",method = {RequestMethod.POST, RequestMethod.GET})
public ResponseBo checkThumbAndCollect(HttpServletRequest request){
ResponseBo responseBo=new ResponseBo();
try {
String imgid=request.getParameter("imgid");
String userid=request.getParameter("userid");
int imgid2=Integer.parseInt(imgid);
int userid2=Integer.parseInt(userid);
responseBo=testService.checkThumbAndCollect(imgid2,userid2);
} catch (Exception e) {
log.error("检查失败",e);
responseBo.setResMsg("检查失败");
}
return responseBo;
}
/**
* 功能描述:通过id获取图片
* 作者: wangzenghui
*/
@RequestMapping(value = "/getImgById.do",method = {RequestMethod.POST, RequestMethod.GET})
public ResponseBo getImgById(HttpServletRequest request){
ResponseBo responseBo=new ResponseBo();
try {
String imgid=request.getParameter("imgid");
int imgid2=Integer.parseInt(imgid);
responseBo=testService.getImgById(imgid2);
} catch (Exception e) {
log.error("查询失败",e);
responseBo.setResMsg("查询失败");
}
return responseBo;
}
/**
* 功能描述:通过id获取用户
* 作者: wangzenghui
*/
@RequestMapping(value = "/getUserById.do",method = {RequestMethod.POST, RequestMethod.GET})
public ResponseBo getUserById(HttpServletRequest request){
ResponseBo responseBo = new 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;
TAGS dataTags = tagsMapper.selectByNameAndImgid(tag, imgidNum);
if (dataTags == null) {
TAGS newTags = new TAGS();
newTags.setName(tag);
newTags.setImgid(imgidNum);
res = tagsMapper.insert(newTags);
}
if (res == 0) {
responseBo.setResMsg("插入失败");
responseBo.setResult(i);
return responseBo;
}
responseBo.setResMsg("插入成功");
}
return responseBo;
}
@Override
public ResponseBo addAuditTags(int imgid, String tags) throws Exception {
ResponseBo responseBo = new 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 imgidNum = imgid;
int res = -1;
TAGS dataTags = tagsMapper.selectByNameAndImgid(tag, imgidNum);
if (dataTags == null) {
TAGS newTags = new TAGS();
newTags.setName(tag);
newTags.setImgid(imgidNum);
res = tagsMapper.insert(newTags);
}
if (res == 0) {
responseBo.setResMsg("插入失败");
responseBo.setResult(i);
return responseBo;
}
responseBo.setResMsg("插入成功");
}
return responseBo;
}
@Override
public ResponseBo addAuditTags(int imgid, String tags) throws Exception {
ResponseBo responseBo = new 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;
}
ADMINSMapper adminsMapper;
@Resource
USERSMapper usersMapper;
@Resource
IMAGESMapper imagesMapper;
@Resource
TYPESMapper typesMapper;
@Resource
AUDITIMAGESMapper auditimagesMapper;
@Resource
DEPOSITSMapper depositsMapper;
@Resource
POINTSMapper pointsMapper;
@Resource
COLLECTSMapper collectsMapper;
@Resource
THUMBMapper thumbMapper;
@Resource
PURCHASEMapper purchaseMapper;
@Resource
AUDITTAGSMapper audittagsMapper;
@Resource
TAGSMapper tagsMapper;
@Resource
COMMENTSMapper commentsMapper;
@Resource
COMPLAINSMapper complainsMapper;
@Value("${web.upload-path}")
private String imageDir;
@Override
public ResponseBo login(String name, String password) throws Exception {
ResponseBo responseBo = new ResponseBo();
try {
ADMINS admins = adminsMapper.selectByName(name);
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;
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;
}
}
return responseBo;
}
/**
* 功能描述:获取标签
* 作者: wangzenghui
*/
@RequestMapping("/getTags.do")
public ResponseBo getTags(String imgid){
ResponseBo responseBo=new ResponseBo();
log.info("进入 getTags 方法");
try {
responseBo=testService.getTags(imgid);
} catch (Exception e) {
log.info("getTags 方法出现异常");
e.printStackTrace();
}
log.info("getTags 方法出参: "+responseBo.getResMsg());
return responseBo;
}
/**
* 功能描述:删除标签
* 作者: 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")
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");
int uid1=Integer.parseInt(uid);
responseBo=testService.getPoints(uid1);
} catch (Exception e) {
log.error("获取失败",e);
responseBo.setResMsg("获取失败");
}
return responseBo;
}
/**
* 功能描述:购买图片
* 作者: wangzenghui
*/
@RequestMapping(value = "/purchaseImg.do",method = {RequestMethod.POST, RequestMethod.GET})
public ResponseBo purchaseImg(HttpServletRequest request){
ResponseBo responseBo=new ResponseBo();
try {
String uid=request.getParameter("userid");
String imgid=request.getParameter("imgid");
int uid1=Integer.parseInt(uid);
int imgid1=Integer.parseInt(imgid);
responseBo=testService.purchaseImg(uid1,imgid1);
} catch (Exception e) {







更多推荐

所有评论(0)