| | |
| | | import com.ruoyi.system.api.feignClient.SysUserClient; |
| | | import io.swagger.models.auth.In; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.poi.hssf.usermodel.HSSFWorkbook; |
| | | import org.apache.poi.ss.usermodel.*; |
| | | import org.apache.poi.xssf.usermodel.XSSFWorkbook; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | import java.time.LocalTime; |
| | | import java.time.ZoneId; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.UUID; |
| | | import java.util.*; |
| | | |
| | | @Slf4j |
| | | @Service |
| | |
| | | }*/ |
| | | List<String> orderNumberList=new ArrayList<>(); |
| | | JSONObject result = new JSONObject(); |
| | | try (InputStream inputStream = file.getInputStream(); |
| | | Workbook workbook = new XSSFWorkbook(inputStream)) { |
| | | // Workbook workbook = new XSSFWorkbook(fileInputStream); |
| | | try (InputStream inputStream = file.getInputStream()) { |
| | | Workbook workbook; |
| | | |
| | | // 判断文件类型并创建相应的Workbook对象 |
| | | if (file.getOriginalFilename() != null && file.getOriginalFilename().toLowerCase().endsWith(".xlsx")) { |
| | | workbook = new XSSFWorkbook(inputStream); // 处理 .xlsx 文件 |
| | | } else if (file.getOriginalFilename() != null && file.getOriginalFilename().toLowerCase().endsWith(".xls")) { |
| | | workbook = new HSSFWorkbook(inputStream); // 处理 .xls 文件 |
| | | } else { |
| | | throw new ServiceException("不支持的文件格式,请上传 .xls 或 .xlsx 格式的文件", 500); |
| | | } |
| | | Sheet sheet = workbook.getSheetAt(0); // 获取第一个Sheet |
| | | int lastRowNum = sheet.getLastRowNum(); |
| | | for (int i = 1; i <= lastRowNum; i++) {//第二行开始 |
| | |
| | | throw new ServiceException(e.getMessage()); |
| | | } |
| | | if(!result.isEmpty()){ |
| | | return R.fail(result); |
| | | return R.fail(result.toString()); |
| | | } |
| | | return R.ok(); |
| | | } |
| | |
| | | appuser.setDelFlag(false); |
| | | appuser.setName(appuser.getPhone().substring(0, 3) + "****" + appuser.getPhone().substring(7)); |
| | | } |
| | | if (site==null){ |
| | | //先计算出积分数 |
| | | point = getPoint(chargeOrder.getTotalAmount()); |
| | | }else{ |
| | | point = getPointSite(chargeOrder.getTotalAmount(),site.getId()); |
| | | } |
| | | // 扣除站点系统用户的积分数 |
| | | SysUser sysUser=null; |
| | | if(Objects.nonNull(site)){ |
| | | List<SysUser> data = sysUserClient.getSysUserAll().getData(); |
| | | sysUser = data.stream().filter(e -> site.getId().equals(e.getSiteId())).findFirst().orElse(null); |
| | | if (sysUser != null) { |
| | | if (sysUser.getIntegral()< point){ |
| | | return R.fail("站点积分不足"); |
| | | } |
| | | }else { |
| | | return R.fail("站点用户不存在"); |
| | | } |
| | | } |
| | | |
| | | Integer chargePoint=appuser.getRechargePoint()==null?0:appuser.getRechargePoint();//充值积分 |
| | | Integer availablePoint=appuser.getAvailablePoint()==null?0:appuser.getAvailablePoint();//可用积分 |
| | | Integer totalPoint=appuser.getTotalPoint()==null?0:appuser.getTotalPoint();//总积分 |
| | |
| | | if (userId==null){ |
| | | return R.fail("导入订单-保存用户失败"); |
| | | } |
| | | if (site==null){ |
| | | //先计算出积分数 |
| | | point = getPoint(chargeOrder.getTotalAmount()); |
| | | }else{ |
| | | if (site!=null){ |
| | | point = getPointSite(chargeOrder.getTotalAmount(),site.getId()); |
| | | // 增加站点端积分明细 |
| | | IntegralRecord integralRecord = new IntegralRecord(); |
| | |
| | | integralRecord.setCreateTime(LocalDateTime.now()); |
| | | otherClient.saveIntegralRecord(integralRecord); |
| | | // 扣除站点系统用户的积分数 |
| | | List<SysUser> data = sysUserClient.getSysUserAll().getData(); |
| | | SysUser sysUser = data.stream().filter(e -> e.getSiteId().equals(site.getId())).findFirst().orElse(null); |
| | | if (sysUser != null) { |
| | | sysUser.setIntegral(sysUser.getIntegral()==null?0:sysUser.getIntegral()-point); |
| | | sysUserClient.updateSysUser(sysUser); |
| | | if (sysUser.getIntegral()==null){ |
| | | sysUser.setIntegral(0); |
| | | } |
| | | sysUser.setIntegral(sysUser.getIntegral()==null?0:sysUser.getIntegral()-point); |
| | | sysUserClient.updateSysUser(sysUser); |
| | | } |
| | | //保存到数据库 |
| | | chargeOrder.setPoint(point); |
| | |
| | | throw new RuntimeException("获取积分兑换比例配置失败"); |
| | | |
| | | } |
| | | if (org.springframework.util.StringUtils.hasLength(data.getChargeCredit())) { |
| | | if (!org.springframework.util.StringUtils.hasLength(data.getChargeCredit())) { |
| | | throw new RuntimeException("获取积分兑换比例配置失败"); |
| | | } |
| | | String chargeCredit = data.getChargeCredit(); |
| | |
| | | } |
| | | // 计算积分并向下取整(Floor) |
| | | int cashInt = cash.intValue(); |
| | | return cashInt*=num1; |
| | | return cashInt * num1; |
| | | |
| | | } catch (NumberFormatException e) { |
| | | throw new RuntimeException("积分兑换比例配置值格式错误", e); |