| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.time.LocalDate; |
| | | import java.util.List; |
| | | |
| | | @Service |
| | |
| | | return p.getId(); |
| | | } |
| | | |
| | | public void deletePointGoods(Long id){ |
| | | pointGoodsMapper.deleteById(id); |
| | | public void deletePointGoods(String idStr){ |
| | | List<String> ids = splitParam(idStr); |
| | | if (ids != null && ids.size() > 0) { |
| | | for(String idd : ids) { |
| | | Long id = Long.parseLong(idd); |
| | | pointGoodsMapper.deleteById(id); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public Page<PointGoodsListDTO> selectGoodsList(Page page, PointGoodsQueryDTO dto){ |
| | |
| | | return dto; |
| | | } |
| | | |
| | | public void updateStatus(Long id, String status){ |
| | | PointGoods p = pointGoodsMapper.selectById(id); |
| | | if(p == null){ |
| | | throw new ValidationException("商品未找到"); |
| | | } |
| | | public void updateStatus(String idStr, String status){ |
| | | List<String> ids = splitParam(idStr); |
| | | if(ids != null && ids.size() > 0) { |
| | | for(String idd : ids) { |
| | | Long id = Long.parseLong(idd); |
| | | PointGoods p = pointGoodsMapper.selectById(id); |
| | | if (p == null) { |
| | | continue; |
| | | } |
| | | |
| | | p.setStatus(status); |
| | | p.update(SecurityUtils.getUserId()); |
| | | pointGoodsMapper.updateById(p); |
| | | p.setStatus(status); |
| | | p.update(SecurityUtils.getUserId()); |
| | | pointGoodsMapper.updateById(p); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public synchronized void exchangeGoods(ExchangeGoodsDTO dto) { |
| | |
| | | detail.setPoint(record.getTotalPoint()); |
| | | detail.setChangeType(Constants.POINT_CHANGE_TYPE.reduce.name()); |
| | | detail.setType(Constants.POINT_TYPE.exchange.name()); |
| | | detail.setRecordDate(LocalDate.now()); |
| | | detail.setRemarks(record.getName()); |
| | | detail.create(SecurityUtils.getUserId()); |
| | | customerPointDetailMapper.insert(detail); |
| | | |
| | |
| | | if(!Constants.POINT_GOODS_RECORD_STATUS.A.name().equals(record.getStatus())){ |
| | | throw new ValidationException("兑换券已使用或过期"); |
| | | } |
| | | if(!SecurityUtils.getUserId().equals(record.getUserId())){ |
| | | throw new ValidationException("兑换券不属于当前用户"); |
| | | } |
| | | record.setStatus(Constants.POINT_GOODS_RECORD_STATUS.U.name()); |
| | | record.setOrderId(orderId); |
| | | pointGoodsRecordMapper.updateById(record); |
| | | } |
| | | public void revertExchangeGoods(Long recordId) { |
| | | PointGoodsRecord record = pointGoodsRecordMapper.selectById(recordId); |
| | | if(record == null){ |
| | | throw new ValidationException("兑换券不存在"); |
| | | } |
| | | if(!Constants.POINT_GOODS_RECORD_STATUS.U.name().equals(record.getStatus())){ |
| | | throw new ValidationException("兑换券未使用或过期"); |
| | | } |
| | | if(!SecurityUtils.getUserId().equals(record.getUserId())){ |
| | | throw new ValidationException("兑换券不属于当前用户"); |
| | | } |
| | | record.setStatus(Constants.POINT_GOODS_RECORD_STATUS.A.name()); |
| | | record.setOrderId(null); |
| | | pointGoodsRecordMapper.updateById(record); |
| | | } |
| | | } |