| | |
| | | package com.ruoyi.order.service.impl; |
| | | |
| | | import cn.hutool.core.util.IdUtil; |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import cn.hutool.json.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.account.api.feignClient.AppUserClient; |
| | |
| | | import org.apache.poi.xssf.usermodel.XSSFWorkbook; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.io.IOException; |
| | |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.net.MalformedURLException; |
| | | import java.net.URI; |
| | | import java.net.URISyntaxException; |
| | | import java.net.URL; |
| | | import java.time.LocalDateTime; |
| | | import java.time.LocalTime; |
| | |
| | | |
| | | |
| | | @Override |
| | | public void importExpress(String url) { |
| | | public R<JSONObject> importExpress(MultipartFile file) { |
| | | /* System.out.println("导入订单url:"+url); |
| | | URL url1 = null; |
| | | try { |
| | | url1 = new URL(url); |
| | | String encodedUrl = new URI(url).toASCIIString(); |
| | | url1 = new URL(encodedUrl); |
| | | } catch (MalformedURLException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | } catch (URISyntaxException e) { |
| | | throw new RuntimeException(e); |
| | | }*/ |
| | | List<String> orderNumberList=new ArrayList<>(); |
| | | |
| | | try (InputStream fileInputStream = url1.openStream()) { |
| | | Workbook workbook = new XSSFWorkbook(fileInputStream); |
| | | JSONObject result = new JSONObject(); |
| | | try (InputStream inputStream = file.getInputStream(); |
| | | Workbook workbook = new XSSFWorkbook(inputStream)) { |
| | | // Workbook workbook = new XSSFWorkbook(fileInputStream); |
| | | Sheet sheet = workbook.getSheetAt(0); // 获取第一个Sheet |
| | | int lastRowNum = sheet.getLastRowNum(); |
| | | for (int i = 1; i <= lastRowNum; i++) {//第二行开始 |
| | |
| | | |
| | | //检查订单号是否重复 |
| | | if (orderNumberList.contains(orderNum)) { |
| | | throw new ServiceException("订单号重复:" + orderNum, 500); |
| | | // throw new ServiceException("订单号重复:" + orderNum, 500); |
| | | result.append("订单号:[", orderNum+"]重复"); |
| | | continue; |
| | | } |
| | | //数据库中是否存在 |
| | | ChargeOrder order = chargeOrderService.getOne(new LambdaQueryWrapper<ChargeOrder>() |
| | | .eq(ChargeOrder::getOrderNumber, orderNum) |
| | | ); |
| | | if (order != null) { |
| | | throw new ServiceException("数据库中订单已存在:" + orderNum, 500); |
| | | // throw new ServiceException("数据库中订单已存在:" + orderNum, 500); |
| | | result.append("订单号:[", orderNum+"]数据库中订单已存在"); |
| | | continue; |
| | | } |
| | | orderNumberList.add(orderNum);//添加到订单集合中 |
| | | |
| | |
| | | e.printStackTrace(); |
| | | throw new ServiceException(e.getMessage()); |
| | | } |
| | | if(!result.isEmpty()){ |
| | | return R.ok(result); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | @Override |
| | |
| | | pageInfo.setRecords(list); |
| | | return pageInfo; |
| | | } |
| | | |
| | | private R importData(ChargeOrder chargeOrder) { |
| | | @Transactional |
| | | public R importData(ChargeOrder chargeOrder) { |
| | | //先计算出积分数 |
| | | Integer point = getPoint(chargeOrder.getTotalAmount()); |
| | | //获取用户,更改积分数 |