项目描述
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));
}
}