From 7fd053651ac11db87fe4f6c57e65eed3b9a59452 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期三, 23 七月 2025 10:47:24 +0800 Subject: [PATCH] yml活动管理代码 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ChargeOrderServiceImpl.java | 57 ++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 38 insertions(+), 19 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ChargeOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ChargeOrderServiceImpl.java index f836ffc..5027c93 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ChargeOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ChargeOrderServiceImpl.java @@ -1,7 +1,7 @@ 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; @@ -29,6 +29,8 @@ 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; @@ -36,6 +38,8 @@ 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; @@ -60,21 +64,26 @@ private UserPointClient userPointClient; @Resource private ChargeOrderService chargeOrderService; - private static final String DEFAULT_AVATAR_URL = "http://qijishenghuiyuan.obs.cn-southwest-2.myhuaweicloud.com/admin/aedfbbb41280471f8d9fa7905298b65f.png"; + private static final String DEFAULT_AVATAR_URL = "http://qijishenghuiyuan.obs.cn-southwest-2.myhuaweicloud.com/admin/58084a0ce8c34dc79f9d8b4c0bc3774a.png"; @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++) {//第二行开始 @@ -129,7 +138,7 @@ } // 结束时间 - Cell endTimeCell = row.getCell(6); + Cell endTimeCell = row.getCell(7); if (endTimeCell == null) { throw new ServiceException("第" + (i + 1) + "行开始时间为空", 500); } @@ -229,14 +238,18 @@ //检查订单号是否重复 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);//添加到订单集合中 @@ -270,6 +283,10 @@ e.printStackTrace(); throw new ServiceException(e.getMessage()); } + if(!result.isEmpty()){ + return R.ok(result); + } + return R.ok(); } @Override @@ -279,8 +296,8 @@ pageInfo.setRecords(list); return pageInfo; } - - private R importData(ChargeOrder chargeOrder) { + @Transactional + public R importData(ChargeOrder chargeOrder) { //先计算出积分数 Integer point = getPoint(chargeOrder.getTotalAmount()); //获取用户,更改积分数 @@ -295,13 +312,14 @@ appuser.setAvatar( DEFAULT_AVATAR_URL); appuser.setCreateTime(LocalDateTime.now()); appuser.setDelFlag(false); + appuser.setName(appuser.getPhone().substring(0, 3) + "****" + appuser.getPhone().substring(7)); } - Integer chargePoint=appuser.getRechargePoint();//充值积分 - Integer availablePoint=appuser.getAvailablePoint();//可用积分 - Integer totalPoint=appuser.getTotalPoint();//总积分 - appuser.setRechargePoint(chargePoint==null?0:chargePoint +point);//充值积分增加 - appuser.setAvailablePoint(availablePoint==null?0:availablePoint+point);//可用积分增加 - appuser.setTotalPoint(totalPoint==null?0:totalPoint+point);//总积分增加 + Integer chargePoint=appuser.getRechargePoint()==null?0:appuser.getRechargePoint();//充值积分 + Integer availablePoint=appuser.getAvailablePoint()==null?0:appuser.getAvailablePoint();//可用积分 + Integer totalPoint=appuser.getTotalPoint()==null?0:appuser.getTotalPoint();//总积分 + appuser.setRechargePoint(chargePoint +point);//充值积分增加 + appuser.setAvailablePoint(availablePoint+point);//可用积分增加 + appuser.setTotalPoint(totalPoint+point);//总积分增加 Long userId = appUserClient.saveOrUpdateAppUser(appuser); if (userId==null){ @@ -323,6 +341,7 @@ return R.fail("导入订单-保存用户积分流水失败"); } //保存到数据库 + chargeOrder.setPoint(point); chargeOrderService.save(chargeOrder); return R.ok(); -- Gitblit v1.7.1