基于javaweb+mysql的springboot嘟嘟图片展览馆管理系统(java+springboot+springmvc+jpa+html+maven+mysql+redis)

基于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等等

     */

    @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) {
            log.error("购买失败",e);
            responseBo.setResMsg("购买失败");
        }
        return responseBo;
    }

    /**
     * 功能描述:检查是否购买过
     * 作者: wangzenghui
     */

    @RequestMapping(value = "/checkPurchase.do",method = {RequestMethod.POST, RequestMethod.GET})
    public ResponseBo  checkPurchase(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.checkPurchase(uid1,imgid1);
        } catch (Exception e) {
            log.error("检查失败",e);
            responseBo.setResMsg("检查失败");
        }
        return responseBo;
    }

    /**
     * 功能描述:获取已购买的图片
     * 作者: wangzenghui
     */
     */

    @RequestMapping("/getComments.do")
    public ResponseBo getComments(int imgid){
        ResponseBo responseBo=new ResponseBo();
        log.info("进入 getComments 方法");
        try {
            responseBo=testService.getComments(imgid);
        } catch (Exception e) {
            log.info("getComments 方法出现异常");
            e.printStackTrace();
        }
        log.info("getComments 方法出参: "+responseBo.getResMsg());
        return responseBo;
    }

    /**
     * 功能描述:删除评论
     * 作者: wangzenghui
     */

    @RequestMapping("/delComments.do")
    public ResponseBo delComments(int comid){
        ResponseBo responseBo=new ResponseBo();
        log.info("进入 delComments 方法");
        try {
            responseBo=testService.delComments(comid);
        } catch (Exception e) {
            log.info("delComments 方法出现异常");
            e.printStackTrace();
        }
        log.info("delComments 方法出参: "+responseBo.getResMsg());
        return responseBo;
    }

    /**
     * 功能描述:举报评论
     * 作者: wangzenghui
     */

    ResponseBo unauditImg(int imgid) throws Exception;

    /**
     * 功能描述:获得充值表数据
     * 作者: wangzenghui
     */

    ResponseBo getDeposits() throws Exception;

    /**
     * 功能描述:添加积分,删除充值表
     * 作者: wangzenghui
     */

    ResponseBo addPoint(POINTS points) throws Exception;

    /**
     * 功能描述:获取评论
     * 作者: wangzenghui
     */

    ResponseBo getComments() throws Exception;

    /**
     * 功能描述:获取举报列表
     * 作者: wangzenghui
     */

    ResponseBo getComplains() throws Exception;

    /**
     * 功能描述:删除举报列表
     * 作者: wangzenghui
     */

        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;
    }
}

     */

    @RequestMapping(value = "/getUserById.do",method = {RequestMethod.POST, RequestMethod.GET})
    public ResponseBo  getUserById(HttpServletRequest request){
        ResponseBo responseBo=new ResponseBo();
        try {
            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;
    }

    /**
     * 功能描述:根据类型获取图片
     */

    ResponseBo checkPurchase(int uid,int imgid) throws Exception;

    /**
     * 功能描述:获取购买过的图片
     * 作者: wangzenghui
     */

    ResponseBo getImgPurchase(int uid) throws Exception;

    /**
     * 功能描述:用户充值
     * 作者: wangzenghui
     */

    ResponseBo deposit(DEPOSITS deposits) throws Exception;

    /**
     * 功能描述:添加标签
     * 作者: wangzenghui
     */

    ResponseBo addTags(int imgid,String tags) throws Exception;

    /**
     * 功能描述:添加待审核标签
     * 作者: wangzenghui
     */

    ResponseBo addAuditTags(int imgid,String tags) throws Exception;

    /**
     * 功能描述:获取标签
     * 作者: wangzenghui
     */

    ResponseBo getTags(String imgid) throws Exception;

    /**
     * 功能描述:删除标签
     * 作者: wangzenghui
     */

    ResponseBo delTags(int tagid) throws Exception;

    /**
     * 作者: wangzenghui
     */

    ResponseBo login(HttpServletRequest request, USERS users) throws Exception;

    /**
     * 功能描述:上传图片
     * 作者: wangzenghui
     */

    ResponseBo upload(MultipartFile file, String title, String intro, int typeid, int userid) throws Exception;

    /**
     * 功能描述:获取所有图片
     * 作者: wangzenghui
     */

    ResponseBo getImgs() throws Exception;

    /**
     * 功能描述:更新用户信息
     * 作者: wangzenghui
     */

    ResponseBo update(HttpServletRequest request, MultipartFile file, String name) throws Exception;

    /**
     * 功能描述:修改密码
     * 作者: wangzenghui
     */

    ResponseBo updatePass(String pass, String newpass, int userid) throws Exception;

    /**
     * 功能描述:点赞图片
     * 作者: wangzenghui
     */

    ResponseBo thumb(int imgid, int userid) throws Exception;

    /**
     * 功能描述:收藏图片
 * 功能描述: 后台功能
 * 作    者: wangzenghui
 * 修改记录:
 *      <时间>            <作者>        <版本>        <描述>
 *
 */

@RestController
@RequestMapping("/admin")
@Slf4j
public class AdminController {

    @Autowired
    AdminService adminService;

    /**
     * 功能描述:管理员登录
     * 作者: wangzenghui
     */

    @RequestMapping(value = "/login.do",method = RequestMethod.GET)
    public ResponseBo login(HttpServletRequest request){
        log.info("admin/AdminController======>login 进入方法");
        ResponseBo responseBo=new ResponseBo();
        String  name=request.getParameter("name");
        String  password=request.getParameter("password");
        String token=request.getHeader("accessToken");
        if (token!=null) {
            if (TokenSign.verify(token)) {
                ADMINS admins = new ADMINS();
                admins.setName(TokenSign.getUsername(token));
                admins.setId(Integer.parseInt(TokenSign.getUserId(token)));
                admins.setPic(TokenSign.getUserPic(token));
                responseBo.setResult(admins);
                return responseBo;
            } else {
                responseBo.setResMsg("token失效");
                return responseBo;
            }
        }
        try {
            log.info("admin/AdminController======>login 进入接口,入参:name=",name);
            responseBo=adminService.login(name,password);
        } catch (Exception e) {
        String  name=request.getParameter("name");
        String  password=request.getParameter("password");
        String token=request.getHeader("accessToken");
        if (token!=null) {
            if (TokenSign.verify(token)) {
                ADMINS admins = new ADMINS();
                admins.setName(TokenSign.getUsername(token));
                admins.setId(Integer.parseInt(TokenSign.getUserId(token)));
                admins.setPic(TokenSign.getUserPic(token));
                responseBo.setResult(admins);
                return responseBo;
            } else {
                responseBo.setResMsg("token失效");
                return responseBo;
            }
        }
        try {
            log.info("admin/AdminController======>login 进入接口,入参:name=",name);
            responseBo=adminService.login(name,password);
        } catch (Exception e) {
            log.error("admin/AdminController======>login 登录方法出错:{}",e);
            responseBo.setResMsg("登录失败");
            responseBo.setResult(e);
        }
        return responseBo;
    }

    /**
     * 功能描述:获取所有用户信息
     * 作者: wangzenghui
     */

    @RequestMapping(value = "/getUsers.do",method = RequestMethod.GET)
    public ResponseBo getUsers(HttpServletRequest request){
        log.info("admin/AdminController======>getUsers 进入方法");
        ResponseBo responseBo=new ResponseBo();
        try {
            log.info("admin/AdminController======>getUsers 进入接口,入参:无");
            responseBo=adminService.getUsers();
        } catch (Exception e) {
        if (images == null) {
            responseBo.setResMsg("查询失败");
            return responseBo;
        }
        responseBo.setResMsg("查询成功");
        responseBo.setResult(images);
        return responseBo;
    }

    @Override
    public ResponseBo getUserById(int userid) throws Exception {
        ResponseBo responseBo = new ResponseBo();
        USERS users = usersMapper.selectByPrimaryKey(userid);
        if (users == null) {
            responseBo.setResMsg("没有查询到用户");
            return responseBo;
        }
        responseBo.setResMsg("查询成功");
        responseBo.setResult(users);
        return responseBo;
    }

    @Override
    public ResponseBo selectImgLikeName(String name) throws Exception {
        ResponseBo responseBo = new ResponseBo();
        List result = imagesMapper.selectLikeNameOrIntro(name);
        Set set = new HashSet();
        for (int i = 0; i < result.size(); i++) {
            IMAGES images = (IMAGES) result.get(i);
            set.add(images.getId());
        }
        List tags = tagsMapper.selectLikeName(name);
        List result2 = new ArrayList();
        for (int i = 0; i < tags.size(); i++) {
            TAGS temp = (TAGS) tags.get(i);
            int imgid = temp.getImgid();
            if (!set.contains(imgid))
                result2.add(imagesMapper.selectByPrimaryKey(imgid));
        }
        if (result == null && tags == null) {
            log.info("search方法结果 无查询结果");
            responseBo.setResMsg("查询失败");
            return responseBo;
        }
     * 作者: wangzenghui
     */

    ResponseBo logout(HttpServletRequest request) throws Exception;

    /**
     * 功能描述:获取用户积分
     * 作者: wangzenghui
     */

    ResponseBo getPoints(int uid) throws Exception;

    /**
     * 功能描述:购买图片
     * 作者: wangzenghui
     */

    ResponseBo purchaseImg(int uid,int imgid) throws Exception;

    /**
     * 功能描述:检查是否购买过
     * 作者: wangzenghui
     */

    ResponseBo checkPurchase(int uid,int imgid) throws Exception;

    /**
     * 功能描述:获取购买过的图片
     * 作者: wangzenghui
     */

    ResponseBo getImgPurchase(int uid) throws Exception;

    /**
     * 功能描述:用户充值
     * 作者: wangzenghui
     */

    ResponseBo deposit(DEPOSITS deposits) throws Exception;

    /**
     * 功能描述:添加标签
     * 作者: wangzenghui
     */

    ResponseBo addTags(int imgid,String tags) throws Exception;
        responseBo.setResult(images);
        return responseBo;
    }

    @Override
    public ResponseBo getUserById(int userid) throws Exception {
        ResponseBo responseBo = new ResponseBo();
        USERS users = usersMapper.selectByPrimaryKey(userid);
        if (users == null) {
            responseBo.setResMsg("没有查询到用户");
            return responseBo;
        }
        responseBo.setResMsg("查询成功");
        responseBo.setResult(users);
        return responseBo;
    }

    @Override
    public ResponseBo selectImgLikeName(String name) throws Exception {
        ResponseBo responseBo = new ResponseBo();
        List result = imagesMapper.selectLikeNameOrIntro(name);
        Set set = new HashSet();
        for (int i = 0; i < result.size(); i++) {
            IMAGES images = (IMAGES) result.get(i);
            set.add(images.getId());
        }
        List tags = tagsMapper.selectLikeName(name);
        List result2 = new ArrayList();
        for (int i = 0; i < tags.size(); i++) {
            TAGS temp = (TAGS) tags.get(i);
            int imgid = temp.getImgid();
            if (!set.contains(imgid))
                result2.add(imagesMapper.selectByPrimaryKey(imgid));
        }
        if (result == null && tags == null) {
            log.info("search方法结果 无查询结果");
            responseBo.setResMsg("查询失败");
            return responseBo;
        }
        result.addAll(result2);
     * 功能描述:给用户添加积分,删除充值表
     * 作者: wangzenghui
     */

    @Caching(evict={@CacheEvict(value="pointscache",allEntries=true)})
    @RequestMapping("/addPoint.do")
    public ResponseBo addPoint(POINTS points){
        ResponseBo responseBo=new ResponseBo();
        log.info("进入 addPoint 方法");
        try {
            responseBo=adminService.addPoint(points);
        } catch (Exception e) {
            log.info("addPoint 方法出现异常");
            e.printStackTrace();
        }
        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 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 {
            responseBo=testService.getTags(imgid);
        } catch (Exception e) {
            log.info("getTags 方法出现异常");
            e.printStackTrace();
        }
        log.info("getTags 方法出参: "+responseBo.getResMsg());
        return responseBo;
    }
            responseBo.setResMsg("该用户不存在");
            return responseBo;
        }
        String password = new MD5Util().EncoderByMd5(users.getPassword());
        if (selUsers.getPassword().equals(password) == false) {
            responseBo.setResMsg("密码错误");
            return responseBo;
        }
        if (selUsers.getBan() == 1) {
            responseBo.setResMsg("封禁账号");
            return responseBo;
        }
        responseBo.setResMsg("登录成功");
        responseBo.setResult(selUsers);

        String token = TokenSign.sign(selUsers.getName(), String.valueOf(selUsers.getId()), selUsers.getPic());
        responseBo.setAccessToken(token);

//        request.getSession().invalidate();
//        HttpSession session = request.getSession();
//        session.setAttribute("users", selUsers);
        return responseBo;
    }

    /**
     * 功能描述:上传图片
     * 作者: wangzenghui
     */

    @Override
    public ResponseBo upload(MultipartFile file, String title, String intro, int typeid, int userid) throws Exception {
        ResponseBo responseBo = new ResponseBo();
        if (file == null) {
            responseBo.setResMsg("请上传文件");
            return responseBo;
        }
        String fileNames = file.getOriginalFilename();//这个fileNames是上传的文件名(不是地址)
        int split = fileNames.lastIndexOf(".");
        String suffix = fileNames.substring(split + 1, fileNames.length());//文件后缀,用于判断上传的文件是否是合法的

/**
 * 功能描述: 前台功能
 * 作    者: wangzenghui
 * 修改记录:
 *      <时间>            <作者>        <版本>        <描述>
 *
 */
@RestController
@RequestMapping("/hui/TestController")
@Slf4j
public class TestController {
    @Autowired
    TestService testService;

            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();

    /**
     * 功能描述:通过审核图片
     * 作者: wangzenghui
     */

    @RequestMapping(value = "/auditImg.do",method = {RequestMethod.POST, RequestMethod.GET})
    public ResponseBo  auditImg(HttpServletRequest request){
        ResponseBo responseBo=new ResponseBo();
        try {
            String img=request.getParameter("imgid");
            int imgid=Integer.parseInt(img);
            responseBo=adminService.auditImg(imgid);
        } catch (Exception e) {
            log.error("审核失败",e);
            responseBo.setResMsg("审核失败");
        }
        log.info("AdminController===>auditImg 方法 出参:responseBo="+responseBo);
        return responseBo;
    }

    /**
     * 功能描述:不通过审核图片
     * 作者: wangzenghui
     */

    @RequestMapping(value = "/unauditImg.do",method = {RequestMethod.POST, RequestMethod.GET})
    public ResponseBo  unauditImg(HttpServletRequest request){
        ResponseBo responseBo=new ResponseBo();
        try {
            String img=request.getParameter("imgid");
            int imgid=Integer.parseInt(img);
            responseBo=adminService.unauditImg(imgid);
        } catch (Exception e) {
            log.error("审核失败",e);
            responseBo.setResMsg("审核失败");
        }
        log.info("AdminController===>unauditImg 方法 出参:responseBo="+responseBo);
        return responseBo;
    }

    /**
     * 功能描述:获取充值表数据
     * 作者: wangzenghui

请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值