From 179c4d64313c9b7572778da4aaaf6c6584fe457d Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期二, 20 五月 2025 23:48:08 +0800 Subject: [PATCH] 修改文件上传类型限制 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWarehouseDonatesServiceImpl.java | 101 ++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 80 insertions(+), 21 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 9afbc4b..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,22 +14,27 @@ 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; @@ -48,6 +53,8 @@ @Resource private ComActWarehouseOperationDao comActWarehouseOperationDao; + @Resource + private ComActWarehouseApplyDao comActWarehouseApplyDao; @Override public R pageList(CommonPage commonPage) { @@ -60,12 +67,18 @@ * @return */ @Override + @Transactional(rollbackFor = Exception.class) public R batchImportWarehouseDonates(List<WarehouseDonatesExcelVO> list) { try { if (!list.isEmpty()) { 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); @@ -75,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); } }); @@ -143,6 +157,7 @@ * @return */ @Override + @Transactional(rollbackFor = Exception.class) public R addDonates(ComActWarehouseDonatesDTO comActWarehouseDonatesDTO) { ComActWarehouseDonates comActWarehouseDonates = new ComActWarehouseDonates(); BeanUtils.copyProperties(comActWarehouseDonatesDTO, comActWarehouseDonates); @@ -160,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(); @@ -184,7 +200,7 @@ if (isNull(comActWarehouseDonatesVO)) { return R.fail("捐赠物品记录不存在"); } - if (nonNull(isWhich)) { + if (nonNull(isWhich) && isWhich.intValue() != 0) { if (isWhich.intValue() == 3) { String name = comActWarehouseDonatesVO.getName(); if (comActWarehouseDonatesVO.getIsAnonymous().equals(ComActWarehouseDonatesVO.isAnonymous.yes) || isBlank(name)) { @@ -197,17 +213,8 @@ if (isWhich.intValue() == 1 && !userId.equals(comActWarehouseDonatesVO.getUserId())) { return R.fail("无法获取他人捐赠记录"); } - List<ComActWarehouseOperation> operationDOList = comActWarehouseOperationDao.selectList(new QueryWrapper<ComActWarehouseOperation>() - .lambda().eq(ComActWarehouseOperation::getGoodsId, donatesId)); - List<ComActWarehouseOperationVO> operationVOList = new ArrayList<>(); - if (!operationDOList.isEmpty()) { - operationDOList.forEach(operation -> { - ComActWarehouseOperationVO operationVO = new ComActWarehouseOperationVO(); - BeanUtils.copyProperties(operation, operationVO); - operationVOList.add(operationVO); - }); - } - comActWarehouseDonatesVO.setOperationList(operationVOList); + List<ComActWarehouseOperationVO> operationList = comActWarehouseOperationDao.selectList(donatesId); + comActWarehouseDonatesVO.setOperationList(operationList); } return R.ok(comActWarehouseDonatesVO); } @@ -218,6 +225,7 @@ * @return */ @Override + @Transactional(rollbackFor = Exception.class) public R signingDonates(ComActWarehouseDonatesDTO comActWarehouseDonatesDTO) { ComActWarehouseDonates comActWarehouseDonates = this.baseMapper.selectById(comActWarehouseDonatesDTO.getId()); if (isNull(comActWarehouseDonates)) { @@ -228,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(); } @@ -265,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(); @@ -292,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