java毕设:失物招领系统

项目描述

springboot 项目:
springboot失物招领系统1108
分为前台页面和后台管理;
主要功能包括:登录,注册,密码找回,修改密码,失物招领,寻物启事,认领,线索提供,留言,系统通知等功能,

运行环境

jdk8+mysql+IntelliJ IDEA+maven+redis

项目技术

springboot+layui+jquery+html

项目截图

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

部分代码

失物认领记录Controller

/**
 * 失物认领记录Controller
 */
@RestController
@RequestMapping("/claimLost")
public class ClaimLostController extends BaseController {

    private String prefix = "lost_found/claimLost";

    @Autowired
    private IClaimLostService claimLostService;

    @Resource
    private ISysUserService sysUserService;

    @Resource
    private ILostService lostService;

    @GetMapping("/main")
    public ModelAndView main() {
        return jumpPage(prefix + "/main");
    }

    /**
     * 查询失物认领记录列表
     */
    @ResponseBody
    @GetMapping("/data")
    public ResultTable list(@ModelAttribute ClaimLost claimLost, PageDomain pageDomain) {
        PageInfo<ClaimLost> pageInfo = claimLostService.selectClaimLostPage(claimLost, pageDomain);
        return pageTable(pageInfo.getList(), pageInfo.getTotal());
    }

    /**
     * 新增失物认领记录
     */
    @GetMapping("/add")
    public ModelAndView add() {
        return jumpPage(prefix + "/add");
    }

    /**
     * 新增保存失物认领记录
     */
    @Transactional
    @ResponseBody
    @PostMapping("/save")
    public Result save(@RequestBody ClaimLost claimLost) {
        SysUser sysUser = (SysUser) SecurityUtil.currentUserObj();
//        LambdaQueryWrapper<ClaimLost> queryWrapper = Wrappers.lambdaQuery();
//        queryWrapper.eq(ClaimLost::getLostId,claimLost.getLostId())
//                .eq(ClaimLost::getUserId,sysUser.getUserId());
//        BizAssert.isTrue(claimLostService.count(queryWrapper)<1,"请勿重复认领");
        claimLost.setStatus("0");
        claimLost.setClaimTime(LocalDateTime.now());
        claimLost.setUserId(sysUser.getUserId());
        //更新失物招领认领状态为1 认领中
        Lost lost = lostService.getById(claimLost.getLostId());
        BizAssert.isFalse(sysUser.getUserId().equals(lost.getUserId()),"无法认领自己发布的物品");
        lost.setStatus("1");
        lostService.updateById(lost);
        return decide(claimLostService.insertClaimLost(claimLost));
    }

    /**
     * 修改失物认领记录
     */
    @GetMapping("/edit")
    public ModelAndView edit(Long claimId, ModelMap mmap) {
        ClaimLost claimLost = claimLostService.selectClaimLostById(claimId);
        mmap.put("claimLost", claimLost);
        return jumpPage(prefix + "/edit");
    }

    /**
     * 修改保存失物认领记录
     */
    @ResponseBody
    @PutMapping("/update")
    public Result update(@RequestBody ClaimLost claimLost) {
        return decide(claimLostService.updateClaimLost(claimLost));
    }

    /**
     * 删除失物认领记录
     */
    @ResponseBody
    @DeleteMapping("/batchRemove")
    public Result batchRemove(String ids) {
        return decide(claimLostService.deleteClaimLostByIds(Convert.toStrArray(ids)));
    }

    /**
     * 删除
     */
    @ResponseBody
    @DeleteMapping("/remove/{claimId}")
    public Result remove(@PathVariable("claimId") Long claimId) {
        return decide(claimLostService.deleteClaimLostById(claimId));
    }

    /**
     * 处理申请
     */
    @Transactional
    @ResponseBody
    @PutMapping("/handle")
    public Result handle(@RequestParam Integer id, @RequestParam String type) {
        ClaimLost claimLost = claimLostService.getById(id);
        claimLost.setStatus(type);
        if ("2".equals(type)) {
            //同意  将其他的申请拒绝
            LambdaUpdateWrapper<ClaimLost> updateWrapper = Wrappers.lambdaUpdate();
            updateWrapper.eq(ClaimLost::getLostId, claimLost.getLostId())
                    .set(ClaimLost::getStatus, "1");
            claimLostService.update(updateWrapper);
            //更新失物招领状态为已认领
            Lost lost = lostService.getById(claimLost.getLostId());
            lost.setStatus("1");
            lostService.updateById(lost);
        } else {
            //如果全部都拒绝需要更新失物招领线索为0
            LambdaQueryWrapper<ClaimLost> queryWrapper = Wrappers.lambdaQuery();
            queryWrapper.eq(ClaimLost::getLostId, claimLost.getLostId())
                    .eq(ClaimLost::getStatus,0)
                    .ne(ClaimLost::getClaimId,claimLost.getClaimId());
            if (claimLostService.count(queryWrapper) == 0) {
                //更新失物招领状态为认领中
                Lost lost = lostService.getById(claimLost.getLostId());
                lost.setStatus("0");
                lostService.updateById(lost);
            }
        }
        return decide(claimLostService.updateClaimLost(claimLost));
    }

    @ResponseBody
    @GetMapping("/check")
    public Result check(@RequestParam Integer lostId) {
        SysUser sysUser = (SysUser) SecurityUtil.currentUserObj();
        LambdaQueryWrapper<ClaimLost> queryWrapper = Wrappers.lambdaQuery();
        queryWrapper.eq(ClaimLost::getLostId, lostId)
                .eq(ClaimLost::getUserId, sysUser.getUserId());
        BizAssert.isTrue(claimLostService.count(queryWrapper) > 0, "请先认领物品");
        SysUser user = sysUserService.getById(sysUser.getUserId());
        return success("操作成功", user.getPhone());
    }

}


寻物启事申诉信息Controller

/**
 * 寻物启事申诉信息Controller
 
 */
@RestController
@RequestMapping("/foundAppeal")
public class FoundAppealController extends BaseController {

    private String prefix = "lost_found/foundAppeal";

    @Autowired
    private IFoundAppealService foundAppealService;
    @Resource
    private IFoundService foundService;

    @GetMapping("/main")
    public ModelAndView main() {
        return jumpPage(prefix + "/main");
    }

    /**
     * 查询寻物启事申诉信息列表
     */
    @ResponseBody
    @GetMapping("/data")
    public ResultTable list(@ModelAttribute FoundAppeal foundAppeal, PageDomain pageDomain) {
        PageInfo<FoundAppeal> pageInfo = foundAppealService.selectFoundAppealPage(foundAppeal, pageDomain);
        return pageTable(pageInfo.getList(), pageInfo.getTotal());
    }

    /**
     * 新增寻物启事申诉信息
     */
    @GetMapping("/add")
    public ModelAndView add() {
        return jumpPage(prefix + "/add");
    }

    /**
     * 新增保存寻物启事申诉信息
     */
    @ResponseBody
    @PostMapping("/save")
    public Result save(@RequestBody FoundAppeal foundAppeal) {
        SysUser sysUser = (SysUser) SecurityUtil.currentUserObj();
        Found found = foundService.getById(foundAppeal.getFoundId());
        BizAssert.isFalse(sysUser.getUserId().equals(found.getUserId()),"无法对自己发布的寻物启事发起申诉");
        foundAppeal.setFoundAppealTime(LocalDateTime.now());
        foundAppeal.setUserId(sysUser.getUserId());
        return decide(foundAppealService.insertFoundAppeal(foundAppeal));
    }

    /**
     * 修改寻物启事申诉信息
     */
    @GetMapping("/edit")
    public ModelAndView edit(Long foundAppealId, ModelMap mmap) {
        FoundAppeal foundAppeal =foundAppealService.selectFoundAppealById(foundAppealId);
        mmap.put("foundAppeal", foundAppeal);
        return jumpPage(prefix + "/edit");
    }

    /**
     * 修改保存寻物启事申诉信息
     */
    @ResponseBody
    @PutMapping("/update")
    public Result update(@RequestBody FoundAppeal foundAppeal) {
        return decide(foundAppealService.updateFoundAppeal(foundAppeal));
    }

    /**
     * 删除寻物启事申诉信息
     */
    @ResponseBody
    @DeleteMapping("/batchRemove")
    public Result batchRemove(String ids) {
        return decide(foundAppealService.deleteFoundAppealByIds(Convert.toStrArray(ids)));
    }

    /**
     * 删除
     */
    @ResponseBody
    @DeleteMapping("/remove/{foundAppealId}")
    public Result remove(@PathVariable("foundAppealId") Long foundAppealId) {
        return decide(foundAppealService.deleteFoundAppealById(foundAppealId));
    }
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_2537071370

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值