From 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期一, 09 六月 2025 11:54:00 +0800 Subject: [PATCH] 6.9新增登录失败冻结逻辑 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWarehouseDonatesServiceImpl.java | 84 +++++++++++++++++++++++++++++++++++++----- 1 files changed, 74 insertions(+), 10 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWarehouseDonatesServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWarehouseDonatesServiceImpl.java index 2bbd841..297b301 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWarehouseDonatesServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWarehouseDonatesServiceImpl.java @@ -14,28 +14,32 @@ import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.common.exceptions.ServiceException; +import com.panzhihua.common.model.dtos.community.warehouse.ComActWarehouseApplyDTO; import com.panzhihua.common.model.dtos.community.warehouse.ComActWarehouseDonatesDTO; import com.panzhihua.common.model.dtos.community.warehouse.ExportDonatesDTO; import com.panzhihua.common.model.dtos.community.warehouse.PageDonatesDTO; import com.panzhihua.common.model.dtos.property.CommonPage; import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseApplyVO; import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseDonatesVO; import com.panzhihua.common.model.vos.community.warehouse.ComActWarehouseOperationVO; import com.panzhihua.common.model.vos.community.warehouse.DonatesStatisticsVO; import com.panzhihua.common.model.vos.community.warehouse.WarehouseDonatesExcelVO; +import com.panzhihua.service_community.dao.ComActWarehouseApplyDao; import com.panzhihua.service_community.dao.ComActWarehouseDonatesDao; import com.panzhihua.service_community.dao.ComActWarehouseOperationDao; +import com.panzhihua.service_community.entity.ComActWarehouseApply; import com.panzhihua.service_community.entity.ComActWarehouseDonates; import com.panzhihua.service_community.entity.ComActWarehouseOperation; import com.panzhihua.service_community.service.ComActWarehouseDonatesService; import lombok.extern.slf4j.Slf4j; -import org.springframework.transaction.annotation.Transactional; /** * 爱心义仓/物品捐赠表(ComActWarehouseDonates)表服务实现类 @@ -49,6 +53,8 @@ @Resource private ComActWarehouseOperationDao comActWarehouseOperationDao; + @Resource + private ComActWarehouseApplyDao comActWarehouseApplyDao; @Override public R pageList(CommonPage commonPage) { @@ -68,6 +74,11 @@ List<ComActWarehouseDonates> donateList = list.stream().map(excelVO -> { ComActWarehouseDonates donates = new ComActWarehouseDonates(); BeanUtils.copyProperties(excelVO, donates); + if (excelVO.getIsAnonymous().equals("是")) { + donates.setIsAnonymous(1); + } else { + donates.setIsAnonymous(2); + } return donates; }).collect(Collectors.toList()); this.baseMapper.batchInsertDonates(donateList); @@ -77,10 +88,11 @@ Long donateId = donate.getId(); if (nonNull(donateId)) { ComActWarehouseOperation comActWarehouseOperation = new ComActWarehouseOperation(); - comActWarehouseOperation.setGoodsId(donateId.intValue()); - comActWarehouseOperation.setUserId(donate.getSigningBy().intValue()); + comActWarehouseOperation.setGoodsId(donateId); + comActWarehouseOperation.setUserId(donate.getSigningBy()); comActWarehouseOperation.setContent("工作人员完成了物品签收"); comActWarehouseOperation.setCreateTime(nowDate); + comActWarehouseOperation.setType(ComActWarehouseOperation.type.bxs); operationList.add(comActWarehouseOperation); } }); @@ -163,10 +175,11 @@ if (result > 0) { if (comActWarehouseDonates.getStatus().intValue() == 2) { ComActWarehouseOperation comActWarehouseOperation = new ComActWarehouseOperation(); - comActWarehouseOperation.setGoodsId(comActWarehouseDonates.getId().intValue()); - comActWarehouseOperation.setUserId(comActWarehouseDonates.getSigningBy().intValue()); + comActWarehouseOperation.setGoodsId(comActWarehouseDonates.getId()); + comActWarehouseOperation.setUserId(comActWarehouseDonates.getSigningBy()); comActWarehouseOperation.setContent("工作人员完成了物品签收"); comActWarehouseOperation.setCreateTime(nowDate); + comActWarehouseOperation.setType(ComActWarehouseOperation.type.bxs); comActWarehouseOperationDao.insert(comActWarehouseOperation); } return R.ok(); @@ -223,15 +236,19 @@ } BeanUtils.copyProperties(comActWarehouseDonatesDTO, comActWarehouseDonates); Date nowDate = new Date(); + if (nonNull(comActWarehouseDonatesDTO.getQuantity())) { + comActWarehouseDonates.setSurplusQuantity(comActWarehouseDonatesDTO.getQuantity()); + } comActWarehouseDonates.setSigningAt(nowDate); comActWarehouseDonates.setStatus(2); int result = this.baseMapper.updateById(comActWarehouseDonates); if (result > 0) { ComActWarehouseOperation comActWarehouseOperation = new ComActWarehouseOperation(); - comActWarehouseOperation.setGoodsId(comActWarehouseDonates.getId().intValue()); - comActWarehouseOperation.setUserId(comActWarehouseDonates.getSigningBy().intValue()); + comActWarehouseOperation.setGoodsId(comActWarehouseDonates.getId()); + comActWarehouseOperation.setUserId(comActWarehouseDonates.getSigningBy()); comActWarehouseOperation.setContent("工作人员完成了物品签收"); comActWarehouseOperation.setCreateTime(nowDate); + comActWarehouseOperation.setType(ComActWarehouseOperation.type.bxs); comActWarehouseOperationDao.insert(comActWarehouseOperation); return R.ok(); } @@ -260,10 +277,11 @@ int result = this.baseMapper.updateById(comActWarehouseDonates); if (result > 0) { ComActWarehouseOperation comActWarehouseOperation = new ComActWarehouseOperation(); - comActWarehouseOperation.setGoodsId(comActWarehouseDonates.getId().intValue()); - comActWarehouseOperation.setUserId(currentUser.intValue()); + comActWarehouseOperation.setGoodsId(comActWarehouseDonates.getId()); + comActWarehouseOperation.setUserId(currentUser); comActWarehouseOperation.setContent("已取消捐赠"); comActWarehouseOperation.setCreateTime(new Date()); + comActWarehouseOperation.setType(ComActWarehouseOperation.type.bxs); comActWarehouseOperationDao.insert(comActWarehouseOperation); } return R.ok(); @@ -287,4 +305,50 @@ donatesStatisticsVO.setTotalDec(donatesStatisticsVO.getTotalInc().intValue() - donatesStatisticsVO.getSurplus().intValue()); return R.ok(donatesStatisticsVO); } + + /** + * 社区后台物品领用 + * @param comActWarehouseApplyDTO + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public R applyDonates(ComActWarehouseApplyDTO comActWarehouseApplyDTO) { + List<ComActWarehouseApplyVO> applyItems = comActWarehouseApplyDTO.getApplyItems(); + if (!applyItems.isEmpty()) { + Date nowDate = new Date(); + applyItems.forEach(item -> { + Long goodsId = item.getGoodsId(); + Integer goodsNum = item.getGoodsNum(); + if (isNull(goodsId) || isNull(goodsNum)) { + throw new ServiceException("请求参数有误"); + } + ComActWarehouseDonates warehouseDonates = this.baseMapper.selectById(goodsId); + if (nonNull(warehouseDonates) && warehouseDonates.getSurplusQuantity() - goodsNum >= 0) { + warehouseDonates.setSurplusQuantity(warehouseDonates.getSurplusQuantity() - goodsNum); + this.baseMapper.updateById(warehouseDonates); + + ComActWarehouseApply apply = new ComActWarehouseApply(); + BeanUtils.copyProperties(comActWarehouseApplyDTO, apply); + apply.setActualTime(nowDate); + apply.setCreateTime(nowDate); + apply.setGoodsId(goodsId); + apply.setGoodsNum(goodsNum); + apply.setReserveTime(nowDate); + apply.setStatus(ComActWarehouseApplyVO.status.ylq); + apply.setWriteOffUserId(comActWarehouseApplyDTO.getOperateUserId()); + comActWarehouseApplyDao.insert(apply); + + ComActWarehouseOperation comActWarehouseOperation=new ComActWarehouseOperation(); + comActWarehouseOperation.setGoodsId(goodsId); + comActWarehouseOperation.setCreateTime(nowDate); + comActWarehouseOperation.setContent("爱心传递给了"+comActWarehouseApplyDTO.getApplyName().charAt(0)+"**,"+"减少了"+comActWarehouseApplyDTO.getReason()+"的困难,谢谢你的帮助"); + comActWarehouseOperation.setType(ComActWarehouseOperation.type.xs); + comActWarehouseOperation.setApplyId(apply.getId()); + comActWarehouseOperationDao.insert(comActWarehouseOperation); + } + }); + } + return R.ok("领取成功,部分物品可能因剩余数量不足领取失败,请以实际领取记录为准"); + } } -- Gitblit v1.7.1